Javascript 在函数中使用Knockout push返回错误
在本例中,我将knockout与require.js一起使用 在Main.roll()外部,Main.result.push按预期工作。在函数内部,它抛出一个错误:uncaughttypeerror:无法读取未定义的属性“apply” 我仍然可以访问函数中的Main.result()。我可以设置它的值,但我不能使用。出于某种原因推送Javascript 在函数中使用Knockout push返回错误,javascript,knockout.js,requirejs,Javascript,Knockout.js,Requirejs,在本例中,我将knockout与require.js一起使用 在Main.roll()外部,Main.result.push按预期工作。在函数内部,它抛出一个错误:uncaughttypeerror:无法读取未定义的属性“apply” 我仍然可以访问函数中的Main.result()。我可以设置它的值,但我不能使用。出于某种原因推送 define(['knockout', 'd20'], function(ko, d20) { return function main() { va
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 = ko.observableArray([]);
或者这个:
Main.result = ko.observableArray();
但是,如果希望将其重置为空数组,请使用以下代码段:
Main.result([]);
语法不正确。您正在处理数组,因此无法将其设置为空字符串。以下是初始化阵列的两种方法: 或者:
Main.result = ko.observableArray([]);
或者这个:
Main.result = ko.observableArray();
但是,如果希望将其重置为空数组,请使用以下代码段:
Main.result([]);
如果删除该函数中的
Main.result(“”)
行,它会改变什么吗?是的,但我必须重置数组。这是错误的语法。下面的答案是正确的。如果删除该函数中的Main.result(“”)
行,它会改变什么吗?是的,但我必须重置数组。这是错误的语法。下面的答案明白了。太明显了!谢谢!:-)太明显了!谢谢!:-)