search

Home  >  Q&A  >  body text

javascript - 关于vue的模版数据被计算属性过滤后失去双向绑定的问题!

这里的计算属性是需要根据路由的参数来过滤一下,但是过滤后的result数组应该已经和this.list没有关系了,所以失去的双向绑定的功能,求助有什么好点方案来解决这个问题吗?

export default{
    data(){
        return {
            currentCate: null,
            list: Store.fetch()
        }
    },

    watch: {
        '$route' (to, from) {
            this.updataCate();
        }
    },

    created(){
        this.updataCate();
    },

    computed: {
        viewData(){
            let result = [];

            this.list.forEach((item, index) => {
                if(item.cate && item.cate == this.currentCate){
                    result.push(item);
                }
            });
            return result;
        }
    },

    methods: {
        updataCate(){
            this.currentCate = this.$route.params.cate;
        },
        toggleCompleted(item){
            // var index = this.items.indexOf(item)
            // console.log(index);
            item.completed = !item.completed;
        }
    }

}
天蓬老师天蓬老师2789 days ago705

reply all(2)I'll reply

  • 大家讲道理

    大家讲道理2017-04-11 13:14:57

    用计算属性的 set 方法

    http://vuejs.org/v2/guide/com...

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 13:14:57

    虽然不知道具体的业务逻辑是什么,不过,数据处理完之后有向后端提交吗?如果有提交那没问题吧,如果不提交,数据双向绑定也没有意义吧?

    reply
    0
  • Cancelreply