代码搬晕工
2019-11-13 10:40
采纳率: 39.1%
浏览 2.2k

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,各位大神有解决方法吗

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 下一个喵呜 2019-11-13 14:50
    已采纳
    已采纳该答案
    打赏 评论
  • weixin_40852944 2019-11-13 14:25

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

    打赏 评论
  • xyt3198 2019-11-13 14:52

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

    打赏 评论

相关推荐 更多相似问题