5
С нормальной модели представления я могу вызвать функцию после инициализации вне него это контекст так:Вызов функции компонента при инициализации в Knockout
var ViewModel = function() {
this.Foo = function() {
alert("bar");
};
};
var vm = new ViewModel();
ko.applyBindings(vm);
vm.Foo();
Как сделать что-то подобное с модель представления компонентов? Я хочу вызвать функцию FooComponentViewModel
Foo
при первом загрузке компонента 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/
Никогда не думал об этом. Хорошая идея! Подождите несколько, чтобы увидеть, есть ли другие идеи. Спасибо – kspearrin
Как насчет случаев, когда мы хотим вызвать метод компонента. Пусть наш ComponentVm предоставляет метод doSmth (arg1, arg2). Есть ли у вас какие-либо мысли о том, как получить доступ к этому методу вне компонента в соответствии с идеей нокаута? – DotNetter