【发布时间】:2015-02-13 01:38:33
【问题描述】:
在这个例子中,我使用了 require.js 的淘汰赛。
在 Main.roll() 之外,Main.result.push 按预期工作。在函数内部,它会抛出一个错误:Uncaught TypeError: Cannot read property 'apply' of undefined。
我仍然可以在函数中访问 Main.result()。我可以为其设置值,但由于某种原因我不能使用 .push。
define(['knockout', 'd20'], function(ko, d20) {
return function main() {
var Main = this;
Main.result = ko.observableArray('');
Main.result.push( d20.roll('2d8+2') ); // works
Main.roll = function() {
Main.result('');
Main.result.push( d20.roll('2d8+2') ); // no workie
}
}
});
【问题讨论】:
-
如果删除该函数中的
Main.result('')行,它会改变什么吗? -
是的,但我不得不重置阵列。这是错误的语法。下面的答案明白了。
标签: javascript knockout.js requirejs