sodasix

1516 经验值

@Tomoe

this.items.find(item => item.id === id)

这个有点6 , 带我看看

@sqrtqiezi

通过id在items里查找到对应的item,然后丢给Vue封装的变异方法。

你说的应该也是 this.items.$remove(item) 这个方法吧?

我觉得还是直接通过 $index 的方式, 会更加效率, 只不过 jq 以及 HTML 耦合的问题, 还应该再想想其他途径..

@lyon
我看了下, 你的方法是在 列表中有一个 删除的按钮, 但是我是没有按钮的,
而且根据文档所说, .$remove(), 也是对 splice() 方法的封装, 原理也是先找到对应的下标吧..

 <button type="button" v-on:click="del($index)">del</button>

del: function(item){
                this.items.splice(item, 1);
                // this.items.$remove(item)
            }

这样会比直接传入一个 item 会更效率吧??

我把 HTML 结构改成这样了

 <ul>
        <li v-for="item in items">
            <span>{ $index }</span>
            <span data-id="{ item.id }" data-index="{ $index }">{ item.id }</span>
            <span>{ item.msg }</span>
            <span v-show="item.ok"> ok</span>
        </li>
    </ul>

然后删除的时候

viewModel.items.splice($('span[data-id="1"]').data('index'),1);

不知道, 有没有更优雅的办法..

html:

<div id="demo">
    <ul>
        <li v-for="item in items">
            <span>  item.id  </span>
            <span>  item.msg  </span>
            <span v-show="item.ok"> ok</span>
        </li>
    </ul>
</div>


js:

var viewModel = new Vue({
    el :'#demo',
    data: {
        items:[
            { msg : '列表1', ok: 1, id: 1},
            { msg : '列表2', ok: 2, id: 2},
            { msg : '列表3', ok: 0, id: 3}
        ]
    }
});


加载之后, 渲染出列表, 

然后我想从 items 中删除 id = 1 的这条数据, 

Vue.js 包装的变异方法, 好像没有能直接删除的方法, 只有通过数组 key 才可以..

请问, 这得怎么实现?

求指教2个问题, 

eloquent 一对一关系关联的数据, 

eloquent->hasOne()->save(new HasOne(['data'=>1]))

这样可以在 HasOne 表插入一条数据. 

现在需要, 在有对应关联记录的时候执行更新, 没有就执行增加 这个操作还可以使用关联的操作完成吗?

可以使用 Route::group 的 namespace, 将同一个命名空间下的放到同一个分组下, 就可以不用写那么多前缀了

Route::group(['namespace' => 'Admin', 'prefix'=>'admin'], function () {
// Route::get('action',  'AdminController@action');
});

上传图片, 百度 webuploader 可以做到完全一样的拖拽上传,
编辑器的话, 我想应该是 simditor