我在视图模型范围之外有以下代码,我试图通过点击绑定来调用它。
function Policy(data) {
var self = this;
Object.keys(data).forEach(function(prop) {
self[prop] = data[prop];
});
var generate = function() {
console.log("test");
// window.open("www.google.com")
// window.open("{{ url_for('genreport') }}/" + qvm.letter() + '/' + self.id);
}
}
但是,当我尝试调用函数时,我得到的生成没有定义。我绑定的代码在
之下<button class="btn btn-lg btn-primary btn-block" data-bind="click: function(){ generate() }">Generate</button>
我试过调用Policy.generate,$ data.generate,我无法调用此函数。
我知道这个问题很简单,我可能会错过一些应该粉碎我脸上的东西,但我不知道,任何帮助都会受到赞赏。
答案 0 :(得分:1)
修复只是将所述函数放在我的ViewModel的范围内,现在已修复。
答案 1 :(得分:0)
您已使用本地变量声明generate
。它在Policy
范围之外是不可见的。如果你想创建Policy.generate
,你应该这样做:
Policy.generate = function () {