Ada*_*itt 1 data-binding knockout.js
有没有办法从列表中项目的回调内部访问根视图模型?
例:
function Employee() {
var self = this;
this.notes = ko.observableArray();
this.addNote = function() {
// need to access the EmployeeViewModel here in order to set its detailedNote
}
}
function EmployeeViewModel() {
var self = this;
this.employees= ko.observableArray([]);
// observables used as placeholders in modal windows
this.detailedEmployee = ko.observable();
this.detailedNote = ko.observable();
}
Run Code Online (Sandbox Code Playgroud)
我假设您将在某个时候将视图模型中的Employee实例添加到雇员observableArray中.创建实例时,将parentVM传递给Employee构造函数.唯一需要注意的是,你无法调用ko.toJSON,因为当它试图对对象进行字符串化时,它将继续绕圈.
我不得不作出一些推论,因为你没有提供很多细节,但我试图为你举一个例子.
http://jsfiddle.net/bczengel/trm7y/
另外,在创建多个对象实例时,请注意一点,将内部函数放入构造函数的原型中,这样就不会创建执行相同操作的函数副本.例如,您的addNote函数将为您创建的每个Employee实例创建一次.如果使用原型继承,则只会创建一个.这个变化也在我的例子中.
| 归档时间: |
|
| 查看次数: |
3103 次 |
| 最近记录: |