javascript - 如何重新绑定(bind)变量赋值

标签 javascript model-view-controller

我目前正在尝试构建自己的 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/

相关文章:

.net - azure 中的服务代理有什么替代方案来获取插入或更新数据库的通知?

javascript - 如何通配符匹配 querySelectorAll 中的类名?

javascript - 在嵌套函数中使用 var 关键字

javascript - Image.onload 事件未触发

javascript - Marionette 收集事件未触发

Python、Django 1.7 : Redirect all URLs to a single controller

javascript - Passport.js 的验证错误

javascript - 滑动div左右过渡

javascript - 如何返回从 .then 语句中获取 api 数据收到的数组?

java - 将Java程序绑定(bind)到Cocoa接口(interface)