Javascript 将剔除视图模式从函数公开到另一个函数
我有下一个情况 出于某些原因,我需要在函数内部绑定knockout ViewModel,并根据特定条件调用它 这是我的代码:Javascript 将剔除视图模式从函数公开到另一个函数,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,我有下一个情况 出于某些原因,我需要在函数内部绑定knockout ViewModel,并根据特定条件调用它 这是我的代码: if (... some conditions ...) { var polugodiste = $("#polugodiste").val(); ApplyBindingsIzostanak(polugodiste); $('#flip-min').change(function () { I
if (... some conditions ...) {
var polugodiste = $("#polugodiste").val();
ApplyBindingsIzostanak(polugodiste);
$('#flip-min').change(function () {
IzostanakViewModel.selectedPolugodiste(parseInt($(this).val()));
IzostanakViewModel.GetIzostanci();
});
}
和功能:
function ApplyBindingsIzostanak(polugodiste)
{
var Izostanak = function (cas, tekst) {
this.Cas = cas;
this.Tekst = tekst;
};
var IzostanakViewModel = {
selectedStatus: ko.observable(),
selectedPolugodiste: ko.observable(polugodiste),
ucenikIzostanakList: ko.observableArray([]),
GetIzostanci: function () {
.. do some code ...
}
};
ko.applyBindings(IzostanakViewModel);
}
绑定正在工作,但当我尝试在我的中调用IzostanakViewModel
时出错。如果,它会说IzostanakViewModel未定义
我是否可以以及如何从函数中公开IzostanakViewModel,并在if语句中使用它
注*
我可以试试这样的东西:
将此代码添加到ApplyBindingsIzostanak()
:
然后从if语句调用它,但可能有更好的解决方案…IzostanakViewModel
是ApplyBindingsIzostanak()函数中的一个变量。你为什么不退回它,这样你就有了它的参考
function ApplyBindingsIzostanak(polugodiste)
// ...
return IzostanakViewModel;
}
function ApplyBindingsIzostanak(polugodiste)
// ...
return IzostanakViewModel;
}
var IzostanakViewModel = ApplyBindingsIzostanak(polugodiste);
$('#flip-min').change(function () {
IzostanakViewModel.selectedPolugodiste(parseInt($(this).val()));
IzostanakViewModel.GetIzostanci();
});