vue.js directive如何往外部传入的对象增加值

我想实现的功能是

directive update时往data.users['0']里面增加一个checked = true

使用的vue版本是1.0.18

//注册directive代码
Vue.directive('selectedAll', require('../components/selectedAll'))
//directive代码
<script type="text/javascript">
export default {
        twoWay: true,
        params: ['selecteds'],  //selecteds就是外部传入的对象
        update (val) {
            
        }
};
</script>
<!--html代码-->
<input type="checkbox" v-model="selectedAll" 
                        v-selected-all="selectedAll" :selecteds="data.users"> 
<!--
data.users 的值是这样的
{ "0": { "id": "85", "name": "中文", "create_time": "2016-09-23", "userName": "aa" }, "1": { "id": "86", "name": "English", "create_time": "2016-09-23", "userName": "aa" }, "2": { "id": "87", "name": "Français", "create_time": "2016-09-23", "userName": "aa" } }
-->

其实如果是我的话,对于这样的接口数据,我反倒会在后端全部处理好,在返回给前端,就是下面的格式我会为每一个对象添加 check 字段:

{ "0": { "id": "85", "name": "中文", "create_time": "2016-09-23", "userName": "aa" }, "1": { "id": "86", "name": "English", "create_time": "2016-09-23", "userName": "aa" }, "2": { "id": "87", "name": "Français", "create_time": "2016-09-23", "userName": "aa" } }
JellyBool
        update (val) {
           this.params.selecteds[0].check = true;
          // this.params.selecteds[0].$set('check',true);
        }

你的 HTML 代码是在子组件还是父组件?

上海斯瑞辛志荣 回复 JellyBool

在父组件里(body)

上海斯瑞辛志荣 回复 JellyBool

你这样设置第一次设置为true可以 当你在再次设置时他还是为true

JellyBool 回复 上海斯瑞辛志荣

那你给它初始化一个默认值,比如说为( checked:true),然后在动态设置的时候就可以类似这样:

 this.params.selecteds[0].check = ! this.checked;
上海斯瑞辛志荣 回复 JellyBool

这样可以是可以,但是我这个是组件data.users也是用ajaxphp里查出来的, 我是从php查出来就给他默认值?(如果这样做稍微有些麻烦 还有更好的办法吗)

JellyBool 回复 上海斯瑞辛志荣

其实如果是我的话,对于这样的接口数据,我反倒会在后端全部处理好,在返回给前端,就是下面的格式我会为每一个对象添加 check 字段:

{ "0": { "id": "85", "name": "中文", "create_time": "2016-09-23", "userName": "aa" }, "1": { "id": "86", "name": "English", "create_time": "2016-09-23", "userName": "aa" }, "2": { "id": "87", "name": "Français", "create_time": "2016-09-23", "userName": "aa" } }
上海斯瑞辛志荣 回复 JellyBool

好吧,就是多了一步

JellyBool 回复 上海斯瑞辛志荣

恩,我目前的经验来看,这些逻辑在后端处理完毕之后,在交给前端来渲染时候,就会便利很多,所以其实这种前后端分离的开发方式,我个人觉得更重要的是找前后端的一个平衡点,职责是后端偏重处理逻辑,前端偏重渲染页面。