在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ 怎么改變vue中data的數(shù)據(jù)

怎么改變vue中data的數(shù)據(jù)

var app3 = new Vue({

el:'#item',
data:{
    item_data:[
        
    ],
},
computed:{
},
methods: {

}

});

我想點(diǎn)擊的時候改變vue的item_data這個是數(shù)據(jù),能打印出來就是在頁面渲染不
goods_box是li

li也是用vue遍歷出來的,但是不是同一個app

li是app2

for(var j = 0; j < goods_box.length; j++){

goods_box[j].addEventListener('click',function(){
    item.style = 'left:0;z-index:999';
    //放置ajax請求
    var daya = '{name:"農(nóng)夫山泉飲用天然水550ml",img:["image/1.jpg","image/2.jpg"],p_int:"從大山深處搬運(yùn)的天然弱堿性水",pri:"0.99",old_pri:"99",sell:"9999",kg:"550ml",pac:"瓶裝",qgp:"730天",storage:"常溫",car_img:["image/1.jpg","image/2.jpg"]}'
    var items_data = eval('('+ daya +')');

// app3.item_data = data;
// console.log(app3.item_data);

},false);
回答
編輯回答
詆毀你

1.用了vue不要用jQuery來操作dom綁定事件,直接在模板里用@click注冊事件
2.在vue的組件實(shí)例外部是沒辦法直接訪問data對象的。修改了也不會生效,因?yàn)関ue檢測不到變化

2017年5月25日 06:42
編輯回答
浪蕩不羈

這個可以用組件化應(yīng)用構(gòu)建來解決,

html:

<div id="box">
    <todo-item v-for="item in datas" :todo="item" :key="item.name"></todo-item>
</div>

<button onclick="fun()">點(diǎn)擊</button>

js:

Vue.component('todo-item',{
    props:['todo'],
    template:'<li>{{todo.name}}</li>'
});
var app = new Vue({
    el:'#box',
    data:{
        datas:[
            {name:'我是第一個'}
        ]
    }
});


function fun(){
    setTimeout(function(){
        app.datas = [{name:'我是第一次請求'}]
    },500);
    app.datas = [{name:'加載中.....'}]
}

這樣就可以通過事件來改變。

2017年8月20日 03:50