Я работаю над vueJs в проекте Symfony. У меня есть vue, который отлично работал до нескольких дней. Я не менял ничего, что имело бы какое-то отношение к этому vue, но без всякой причины, так как несколько дней он не работает в хроме (которым я пользуюсь с самого начала), но отлично работает в Firefox.
Итак, что я делаю, это выбор:
<select v-model="selectedStock">
<option :value="stock.id"v-for="stock in stocks">{{ stock.name }}</option>
</select>
мои запасы инициализированы этим:
loadStocks () {
this.$http({
url: 'api/stocks',
method: 'get'
}).then( response => {
this.stocks = response.data
})
},
и моя функция, вызываемая маршрутом api/stocks
:
public function indexAction ()
{
$em = $this->getDoctrine()->getManager();
$stocks = $em->getRepository('RBOrdersBundle:Stock')->findAll();
return new JsonResponse($this->get('rb.serializer')->onEntity($stocks)->toArray());
}
и когда я продолжаю local/api/stocks
, у меня есть массив с двумя объектами
и когда в loadStocks()
в ответной части я делаю: alert(typeof response.data)
chrome дает мне строку, а Firefox дает мне объект
И, наконец, консоль в Chrome показывает мне:
main.js:39752 [Vue warn]: повторяющееся значение найдено в v-for=stock in stocks: 0. Используйте track-by=$index, если вы ожидаете дублирования значений. (находится в компоненте:
<reassort-tool>
)
но примерно 20 раз с кучей разных букв, и я почти уверен, что в моем массиве нет дубликатов.