这可能是非常初学者的问题,或者我一次使用了太多东西。我正在尝试将 KnockoutJS 与Revealing Module Pattern一起使用并尝试编写 CoffeeScript。我已将我的模型放在一个单独的函数中。这是代码:
myapp =(->
person =->
firstname = ko.observable "k"
lastname = ko.observable "d"
firstname:firstname,
lastname:lastname
person : person
)()
$(->
ko.applyBindings(new myapp.person())
@
)
现在这是在 Visual Studio 中使用工作台创建 JavaScript,如下所示:
(function() {
var myapp;
myapp = (function() {
var person;
person = function() {
var firstname, lastname;
firstname = ko.observable("k");
lastname = ko.observable("d");
return {
firstname: firstname,
lastname: lastname
};
};
return {
person: person
};
})();
$(function() {
ko.applyBindings(new myapp.person());
return this;
});
}).call(this);
现在这给出了错误,它现在可以找到要绑定的元素。这是简单的 HTML 文本:
<p>
Firstname<span data-bind="text: myapp.person().firstname"></span>
Lastname<span data-bind="text: myapp.person().lastname">
</span>
</p>
如果我创建没有自调用函数的普通 JavaScript,它工作正常。这是功能:
myapp = (function () {
var person;
person = function () {
var firstname, lastname;
firstname = ko.observable("k");
lastname = ko.observable("j");
return {
firstname : firstname,
lastname : lastname
}
}
return {
person: person
}
})();
$(function () {
ko.applyBindings(new myapp.person());
})
谁能解释这里出了什么问题?还是有另一种方法来编写 CoffeeScript 来使用 KnockoutJS?
如果需要更多详细信息,请发表评论。