Backbone Stick It 擦除动态渲染的输入

Backbone Stickit erases dinamically rendered inputs

我用 javascript 动态渲染了一些输入。示例:

render: function (id, val) {
            return '<input id="' + id + '" value="' + val + '"/>'
        }

之后,我在我的视图渲染函数中调用了 this.stickit();,但它删除了渲染输入的值(我猜这是因为模型是空的)。

如何解决?

我找到了解决方法,但我不确定这是不是一个好方法。这个想法是禁用 来自模型的视图更新:

bindings: {
            '#id_of_input': {
                observe: 'name_of_attribute',
                updateView: false,
                setOptions: {
                    validate: true
                },
                events: ['change', 'blur', 'focus']
            }
 }

但是在我们呈现输入并用数据填充它之后,我们必须在输入上触发 'change' 事件以更新有界模型属性。

目前这是一个很好的解决方案,因为我不使用我的模型来更新视图。 但是如果我们想要双向绑定(模型 <-> 视图)我仍然不知道解决方案。