нокаут.js-получить ViewModel из элемента DOM
можно ли получить привязанный объект JavaScript ViewModel из данного элемента DOM?
ko.applyBindings( gLoginViewModel, document.getElementById("login-form") );
ko.applyBindings( gLoginViewModel, document.getElementById("register-form") );
и где - то еще - в довольно несвязанном коде-что-то вроде этого:
var viewModel = ko.getViewModel( formElement );
viewModel.someObservable( someData ); // observable available in all ViewModels
было бы даже лучше, если бы я мог сделать что-то вроде:
var viewModel = ko.getViewModel( someChildElement );
спасибо заранее!
1 ответ:
нокаут имеет два методы что может помочь здесь.
ko.dataForвернет ViewModel, к которому привязан элемент.
ko.contextForвозвращает "контекст привязки" текущего элемента. Объект, который вы получаете обратно из этого метода будет возвращать что-то вроде:{ $data: ..., $parents, $root }так что если я понимаю ваш вопрос, вы, вероятно, можете использовать
ko.dataForздесь. вот простой пример используяdataFor.
Comments