Vuejs2 vue.js方法可以';t从具有多行的数据对象访问变量
我目前正在学习vue.js,在访问方法中的数据时遇到困难 数据被加载并设置为全局变量(目前,这可能会改变,但我认为这不是问题的一部分) 通过ajax调用接收此数据: 数据:“[{”itemId:“58646f066803fa62388b4573”,“颜色:“#ffb878”,“名称:”“test1”,“startDate:“04/24/2017”,“工作:”“9.25”},{”itemId:“58646f066803fa62388b4572”,“颜色:“#ffb878”,“名称:”“test2”,“startDate:“04/24/2017”,“工作:”“4.25”;“{”itemId:“58646f066803fa62388b4571”,“颜色:”“名称:”“test2”,“startDate:“2017”;“4.25”;“工作:” 设置为全局变量(变量数据设置在函数外部),具有: …成功:函数(jsonObj) { 数据['item']=jsonObj.data 现在来看vue部分:Vuejs2 vue.js方法可以';t从具有多行的数据对象访问变量,vuejs2,Vuejs2,我目前正在学习vue.js,在访问方法中的数据时遇到困难 数据被加载并设置为全局变量(目前,这可能会改变,但我认为这不是问题的一部分) 通过ajax调用接收此数据: 数据:“[{”itemId:“58646f066803fa62388b4573”,“颜色:“#ffb878”,“名称:”“test1”,“startDate:“04/24/2017”,“工作:”“9.25”},{”itemId:“58646f066803fa62388b4572”,“颜色:“#ffb878”,“名称:”“test2”
var app = new Vue({
el:'#canvas',
data: {
items: data['item']
},
methods: {
moveItem: function(){
console.log("new date: "+this.startDate);
}
}
})
html:
<div v-for="row in items" class="entirerow" v-bind:id="'row'+row.itemId">
<div class="itemrow">{{ row.name }}</div>
<div class="itemrow"><input type="text" v-model="row.startDate" @change="moveItem"></div>
<div class="itemrowlast">{{ row.work }}</div>
</div>
{{row.name}
{{row.work}}
这很好地显示了3行,每行中都有正确的数据。到目前为止还不错。但是现在如果我在输入值中更改了一些内容,就会触发方法moveItem,但在console.log中会声明“newdate:undefined”
我也尝试过console.log(“newdate:+this.items.startDate”),但没有雪茄,然后方法似乎不知道处理了哪一行
如何从循环中的某一行访问方法中的正确数据
谢谢!您在方法(this.startDate)中引用的数据对象不是项
moveItem: function(){
console.log("new date: "+this.startDate);
}
您可以像这样更改代码
模板
@change="moveItem(row)"
脚本
moveItem: function(row){
console.log("new date: " + row.startDate);
}