问题描述:1.在main.js里面我是这样写的(实例那一部分)
1 new Vue({ 2 el: '#app', 3 router, 4 render: h => h(App), 5 data: { 6 eventHub: new Vue() 7 } 8 })
可以看到我在这儿给data给了eventHub属性;而这个属性是一个vue实例;
我是想给个全局的空vue实例;专门来存数据;
下面的方法就是在各个组件中用了.....
2.发送数据的方法是
1 this.$root.eventHub.$emit('名字', myData)
接收数据是
1 this.$root.eventHub.$on('名字', function (data) { console.log(data);})
现在问题来了;
我的json数据是这样的(这里的第二行数据的key值(646116131313161)不确定;不像第一行是固定的(user));
1 { 2 "data": 3 [ 4 {"564616":[{"exp":"gg"},{"cea":"333"}]}, 5 {"874161":[{"exp":"ae"},{"cea":"465"}]} 6 ] 7 }
所以我要把数据处理成这样:
1 [ 2 {"title":"564616","content":[{"exp":"gg"},{"cea":"333"}]}, 3 {"title":"874161","content":[{"exp":"ae"},{"cea":"465"}]} 4 ]
我是这样写的(我就写了接收的方法):
1 let arg=[]; 2 this.$root.eventHub.$on('data-a',function (msg) { 3 for (var i;i<msg.data.length;i++) { 4 for (key in msg.data[i]) { 5 arg.push({"title":key,"content":msg.data[i][key]}) 6 } 7 } 8 console.log(arg); 9 //结果是个空的arg数组;... 10 })
打印出来的总是个空数组.....
我的悲伤逆流成河....