Javascript jsView中的引用数组元素

Javascript jsView中的引用数组元素,javascript,jsviews,Javascript,Jsviews,我有一个简单的测试应用程序,我想删除和添加标签,我有如下代码: <script id="tags_template" type="text/x-jsrender"> <div class="tags"> Tags: <ul> {^{for tags}} <li>{{:name}}<a>&times;</a></li> {{/for}} <

我有一个简单的测试应用程序,我想删除和添加标签,我有如下代码:

<script id="tags_template" type="text/x-jsrender">
<div class="tags">
    Tags:
    <ul>
    {^{for tags}}
        <li>{{:name}}<a>&times;</a></li>
    {{/for}}
        <li><input /></li>
    </ul>
</div>
</script>
现在我如何删除标签?有
$。可观察(数组)。删除
但如何在模板中引用该元素,以及如何在javascript中获取该元素?

在文档中找到它:

$view.find('ul').on('click', 'a', function() {
    var view = $.view(this);
    $.observable(tags).remove(view.index);
});

是的,你自己的答案是正确的。但您可能对使用更为数据驱动和声明性的方法感兴趣,如下所示:

<div id="view"></div>

<script id="items_template" type="text/x-jsrender">
    Items (Hit Enter to add):
    <ul>
        {^{for items}}
            <li>
               {{:name}}
               <a class="remove" data-link="{on ~remove}">&times;</a>
            </li>
        {{/for}}
    </ul>
    <input data-link="{:newName trigger=true:} {on 'keydown' ~insert}"/>
</script>
搬迁的备选方案是:

    remove: function(ev) {
        var view = $.view(ev.target);
        $.observable(items).remove(view.index);
    }
或:

顺便说一句,
{on…
事件绑定的新文档即将发布

var items_tmpl = $.templates("#items_template");
var items = [];

items_tmpl.link('#view', {items: items}, {
    insert: function(ev) {
        if (ev.which === 13) {
            // 'this' is the data item
            $.observable(items).insert({name: this.newName});
            $.observable(this).setProperty('newName', '');
        }
    },

    remove: function() {
        // 'this' is the data item
        $.observable(items).remove($.inArray(this, items));
    }    
});
    remove: function(ev) {
        var view = $.view(ev.target);
        $.observable(items).remove(view.index);
    }
    remove: function(ev, eventArgs) {
        var view = $.view(eventArgs.linkCtx.elem);
        $.observable(items).remove(view.index);
    }