До сих пор я пытался изменить значение свойства объекта на false, используя @click='review.isActive = true'
, однако оказалось, что Vue не может обнаружить такие изменения, что означает, что свойство не будет реактивным.
На основании документации https://vuejs.org/v2/guide/list.html#Caveats, этого можно избежать, используя один из следующих методов:
Vue.set(vm.reviews, index, true)
vm.reviews.splice(index, 1, true)
К сожалению, я получаю ошибку, используя любой способ. Я предполагаю, что не совсем понимаю, как работает экземпляр Vue, и я пытаюсь получить к нему доступ, когда не могу.
Я предполагаю, что Vue / vm должен быть экземпляром Vue, но я не могу получить к нему доступ.
В обоих случаях я получаю сообщение об ошибке "Свойство или метод" vm "/" Vue "не определен в экземпляре, но на него ссылаются во время рендеринга."
Я использую простой шаблон веб-пакета Vue webpack, и мой экземпляр Vue, похоже, инициализируется в файле main.js следующим образом:
var vm = new Vue({
el: '#app',
router: router,
store: store,
render: h => h(App)
});
Файл, в котором происходит манипулирование массивом, отличается и является компонентом.