次の状況があります...
いくつかの理由で、関数内でノックアウトViewModelをバインドし、特定の条件で呼び出す必要があります。
これは私のコードです:
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
内部でif
呼び出しようとするとエラーが発生し、 IzostanakViewModelが定義されていないと表示されます。
IzostanakViewModelを関数から公開し、ifステートメント内で使用する方法はありますか?
ノート*
私はこのようなことを試すことができます:
このコードをに追加しますApplyBindingsIzostanak()
:
window.foo = function() {
IzostanakViewMode.GetIzostanci();
}
そして、 ifステートメントからそれを呼び出しますが、おそらくより良い解決策があります...