Vue.js中计算变量的更新方式

Vue.js中计算变量的更新方式,vue.js,Vue.js,全部: 我是Vue的新手,有一个问题让我很困惑: 我将Vue实例定义为事件总线,类似于: var总线=新的Vue({ 数据:{ 名单:[] }, 方法:{ getUpdatedList(){ var bus=此; LIST_AJAXRequest.then(函数(updatedList){bus.LIST=updatedList);bus.$emit(“NEW_DATA”)} } }) 并在以下组件中使用此事件总线: Vue.component(“列表项”{ 模板:“”, 道具:[“物品”],

全部:

我是Vue的新手,有一个问题让我很困惑:

我将Vue实例定义为事件总线,类似于:

var总线=新的Vue({
数据:{
名单:[]
},
方法:{
getUpdatedList(){
var bus=此;
LIST_AJAXRequest.then(函数(updatedList){bus.LIST=updatedList);bus.$emit(“NEW_DATA”)}
}
})
并在以下组件中使用此事件总线:

Vue.component(“列表项”{
模板:“”,
道具:[“物品”],
数据(){
返回{myitem:this.item}
},
方法:{
sendUPDATE_AJAXRequest(){//API请求更新此列表项}
},
创建(){
var vm=这个;
bus.$on(“NEW_DATA”,function(){vm.myitem=Object.assign({},vm.item);})
}
})
Vue.component(“数据列表”{

模板:“1-使用箭头函数,无需将
关键字放入另一个变量

2-请阅读文章“事件总线如何工作”

在发出请求的组件中:

send_request () {
  axios.put('url_here', { data_here })
    .then(response => eventbus.$emit('data_updated', response.data))
}
在要侦听该事件的组件中:

created() {
 eventBus.$on('data_updated', data => {
   console.log(data);
 })
}

在本例中,我使用了我推荐使用的axios。

bus.list=updatedList)
有语法错误。我想问题可能是您没有键入由
v-for
生成的
列表项
组件。请首先查看,代码触发列表\u AJAXRequest?然后是
bus.$on(“新数据”,函数(){vm.myitem=Object.assign({},vm.item);})
不是必需的,对'prop=item'使用一个监视会更好(遵循Vue流)。可能您知道
我一直在得到“uncaughttypeerror:无法分配到只读属性监视。。。“
,但
列出项目。项目似乎不是只读的,或者您在监视程序中做错了什么。