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'
事件以更新有界模型属性。
目前这是一个很好的解决方案,因为我不使用我的模型来更新视图。
但是如果我们想要双向绑定(模型 <-> 视图)我仍然不知道解决方案。
我用 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'
事件以更新有界模型属性。
目前这是一个很好的解决方案,因为我不使用我的模型来更新视图。 但是如果我们想要双向绑定(模型 <-> 视图)我仍然不知道解决方案。