5

通常のビュー モデルでは、次のようにコンテキスト外で初期化後に関数を呼び出すことができます。

var ViewModel = function () {
    this.Foo = function () {
        alert("bar");
    };
};

var vm = new ViewModel();
ko.applyBindings(vm);

vm.Foo();

http://jsfiddle.net/h01ky3pv/

コンポーネントのビュー モデルでこのようなことを行うにはどうすればよいですか? foo コンポーネントが最初にロードされたときにFooComponentViewModelの関数を呼び出したい。Foo

ko.components.register("foo", {
    viewModel: FooComponentViewModel,
    template: {
        element: "component-foo"
    }
});

function FooComponentViewModel(params) {
    this.Foo = function () {
        alert("bar");
    };
}

var ViewModel = function () {
    // empty
};

var vm = ViewModel();
ko.applyBindings();

http://jsfiddle.net/r3d41q6c/2/

4

1 に答える 1