【问题标题】:Vuejs slice function not reactiveVuejs切片功能没有反应
【发布时间】:2017-05-03 17:21:23
【问题描述】:

我正在使用 - 拉拉维尔 - 刀刃 -vuejs

对于一种情况,我的拼接在数组上没有反应。 所以我有一个 ul/li(我已经删除了 css 和其他东西)

<ul>
        <template v-for="(user, index) in availableUsers"  >
        <li v-bind:data-user="user.id" v-bind:data-index="index" >
            @{{user.fullName}}
            <button id=btnRemove>                            
        </li>
   </template>
</ul>

在我的 vue 实例代码中,我有一个函数 removeFromAvailable。 我打电话给 myvue.availableUsers.slice(index, 1)。 该方法收到良好的指标。

removeFromAvailable : function(index) {
        console.log(index);
        myVue.availableUsers.slice(index, 1);
}

它仍在列表中。我很困惑,因为这是第一次它不起作用。

知道为什么它不是反应式的吗?

【问题讨论】:

  • 您能否添加更多代码以帮助理解问题,或者如果您可以创建一个 jsfiddle 则更好。

标签: laravel vue.js


【解决方案1】:

我相信您需要再次设置变量。 slice 只是返回更改后数组的副本,不会更改原始实例。

removeFromAvailable(index) {
  this.availableUsers = this.availableUsers.slice(index, 1);
}

【讨论】:

  • 是的,你是对的,经过更深入的搜索,我找到了这个。 vuejs.org/v2/guide/list.html#Replacing-an-Array
  • 另一种方法是使用 splice 方法,因为它确实修改了原始数组,只是不添加第三个参数。
猜你喜欢
  • 2021-11-15
  • 1970-01-01
  • 2020-12-09
  • 2020-07-25
  • 2023-04-03
  • 1970-01-01
  • 2017-09-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多