vue使用v-for循环直接使用方法获得的数组问题

vue使用v-for循环直接使用方法获得的数组问题

问题描述:

vue使用v-for循环直接使用方法获得的数组,代码

<div id="test">
<select  placeholder="请选择">
            <template v-for="(item,index) in getList('a')">
                        <option v-if="item" :label="item" :value="item"></option>
            </template>
</select>
<input v-model="str"/>
</div>

<script>
    var test = new Vue({
            el:"#test",
            data:{
                 arr:{
                            a:[1,2,3,4],
                            b:[5,6,7,8]
                    },
                    str:""
            },
            methods:{
                getList:function(name){
                   return this.arr[name]
                }
            }
    })

</script>

像这样,只要整个test发生变化就会调用getList方法,就比如我在input输入也会调用getList,各位大神有解决方法吗

你没发现,你在改变vue的值时,它是已经调用了getList这个方法吗?你最终是想实现一个什么样效果呢?

getList('a')直接改成arr['a']不就可以了,还搞多一个getList方法出来干啥