如何从vue.js中的数组中获取对象

时间:2018-04-10 10:08:18

标签: javascript arrays select vue.js scope

我想从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;
        },

1 个答案:

答案 0 :(得分:1)

这是完全正常的,正是你想要发生的事情。 Vue会自动将每个对象包装到一个observable中,这样当数据发生更改时,视图中的所有数据绑定都会自动更新,而您无需执行任何操作。不要担心,这可以作为代理,你可以正常操作这个对象。 例如:

currentTitle.title = 'Changed title'

将更新正确的属性,如果您在视图中有参考,甚至可以自动更新您的视图,而无需担心任何事情。这对Vue来说是件好事。

这是一个代码示例,让您的代码更进一步,希望有助于理解: Codepen Example