当我有多个标签时,删除Riot.js中数组中的对象

时间:2018-11-11 14:08:06

标签: javascript arrays riot.js

我尝试从数组中删除对象,但是由于某种原因我无法访问该数组。如何在delete_task函数中获取数组对象?

在task.tag.html

<task>
    <button onclick={opts.delete_task}>{ title }</button>
</task>

在tasklist.tag.html

<tasklist>
    <todo title="test" delete_task={delete_task}></todo>

    <script>
        this.delete_task = function () {
          for (var i = tasks.length - 1; i >= 0; i--) {
           if (tasks[i].title === this.item.title) {
              tasks.splice(i, 1);
            }
          }
        };

        this.tasks = [{title: "test"}]
     </script>
</tasklist>

1 个答案:

答案 0 :(得分:0)

根据nested loops approach

,您可以使用parent一词

根据events handling

,该事件中的item

结果可能是这样的: https://jsfiddle.net/relaximus/q4t8e0sc/

实际上,随着click事件冒泡,您可以在整个任务标签上使用onclick,在这种情况下,您无需将删除处理程序作为函数传递给标签。

然后写

 onclick={ parent.deleteTask }