在计算的可观察的调用中使用this.get('name')
时,计算的可观察的结果将导致错误this.get is not a function
。
答案 0 :(得分:0)
在Javascript this
中,根据函数的调用方式来引用不同的对象。在您的示例中,您将从视图模型接收函数,然后执行它。
var v = viewModel.get('v')();
在这种情况下,函数内部的this
是指“ Window”对象。为避免此错误,您应该将函数调用为viewModel成员。
var v = viewModel.v();
或通过绑定/应用/调用方法将this
手动设置为viewModel。
var v = viewModel.get('v').call(viewModel);