我想从Vue.js中的数组中选择对象:
在pageload上,调用selectTitle()方法。我只想在我的数组'titleList'中选择对象(例如i = 2)。但是现在我只是得到了观察者的回报。 我知道这是关于范围或绑定的但是我真的是新的(和js!)所以有人可以帮助我吗?
谢谢!
var vm = new Vue({
el: '#titles',
data: {
titleList: [
{ title: 'Title1', details: 'details1', imgLocation:'', text: 'Lorem ipsum dolor sit amet.' },
{ title: 'Title2', details: 'details2', imgLocation:'', text: 'Lorem ipsum dolor sit amet.' },
{ title: 'Title3', details: 'details3', imgLocation:'', text: 'Lorem ipsum dolor sit amet.' },
{ title: 'Title4', details: 'details4', imgLocation:'', text: 'Lorem ipsum dolor sit amet.' },
{ title: 'Title5', details: 'details5', imgLocation:'', text: 'Lorem ipsum dolor sit amet.' }
],
},
mounted: function () {
this.setTimer();
this.selectTitle();
},
methods: {
selectTitle() {
i = 2;
let currentTitle = this.titleList[i];
console.log(i, currentTitle);
return currentTitle;
},
答案 0 :(得分:1)
这是完全正常的,正是你想要发生的事情。 Vue会自动将每个对象包装到一个observable中,这样当数据发生更改时,视图中的所有数据绑定都会自动更新,而您无需执行任何操作。不要担心,这可以作为代理,你可以正常操作这个对象。 例如:
currentTitle.title = 'Changed title'
将更新正确的属性,如果您在视图中有参考,甚至可以自动更新您的视图,而无需担心任何事情。这对Vue来说是件好事。
这是一个代码示例,让您的代码更进一步,希望有助于理解: Codepen Example