我目前正在尝试构建自己的 JS 框架作为学习的一种方式。我创建了一种制作新模型的方法,如下所示:
var myModel = new $n.model.make({
data: {
id: _contentID,
name: $('#frm_content_name').val()
},
route: '/my/path',
callback: function(){}
});
make() 函数很简单:
$n.model.make = function(obj){
var self = this;
self.data = obj.data;
self.route = obj.route;
self.callback = obj.callback;
}
如您所见,名称参数被分配给表单输入字段的值。如果我在 UI 上更改此输入字段值,名称参数仍会分配给输入字段的原始值,因此如果我尝试将数据保存到数据库,则不会发生任何更改。
建立模型后,将数据参数“重新绑定(bind)”到指定的表单字段以获取最新信息的好方法是什么?
最佳答案
正如评论中提到的,您可以这样做:
data: {
id: _contentID,
name: function() {
return $('#frm_content_name').val();
}
},
调用data.name()
将始终获取最新信息。另一种方法是这样的:
data {
id: _contentID,
name: $('#frm_content_name')
},
现在您需要调用data.name.val()
;就我个人而言,我不太喜欢这个,因为缺少封装。
关于javascript - 如何重新绑定(bind)变量赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13702846/