我有一个这样的模块:
define([ 'jquery' ], function($) {
'use strict';
return {
email: $('#email').val() //$('#email') is a html input box
};
});
从我运行时需要此模块的页面
var Form= require('src/form');
Form.email;
它将获得正确的值,但是,如果我输入一个新的电子邮件地址,它会一直获得原始值并且不会更新。
如果我更改为以下内容,它将起作用:
define([ 'jquery' ], function($) {
'use strict';
return {
email: $('#email');
};
});
...
var Form= require('src/form');
Form.email.val();
在我看来,RequireJs 只评估返回的对象一次。有谁知道这里发生了什么?