Javascript 将剔除视图模式从函数公开到另一个函数

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

我有下一个情况

出于某些原因,我需要在函数内部绑定knockout 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
时出错。如果
,它会说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();
});