使用组件

时间:2015-08-21 14:24:10

标签: javascript rivets.js

我正在使用Rivets.js在rv-each- *块中绘制一些组件

页面加载时它们都可以正常渲染。 当我拼接模型的第一个元素时,模型正确地删除了第一个元素,但rv-each- *块删除了最后一个元素。

组件只是由一个按钮组成,该按钮包含它所绑定的对象值的文本。在每个组件调用旁边,我打印一些也绑定到每个对象值的文本。两者应该是相同的,但在拼接之后它们不是。

var model2 = [{ "value":"1"},{"value":"2"},{"value":"3"}];

rivets.components['control'] = {
    template: function() {
        return '<button>{data.option.value}</button>';
    },
    initialize: function(el, attributes) {
        return new controlviewmodel(attributes);
    }
};

function doSplice()
{
    model2.splice(0,1);
}

<table id="view">
<tr rv-each-option="model">
    <td>
        <control option="option"/>
    </td>
    <td>{option.value}</td>
</tr>
</table>

我创造了一个小提琴试图表明我的问题:http://jsfiddle.net/dko9b9k4/

我做错了什么还是这个错误?

编辑:可以通过更改

来修复此示例
return new controlviewmodel(attributes);

return attributes;

0 个答案:

没有答案