Nói rằng tôi đang xác định xem lồng nhau, như vậy (code example on JSFiddle):Ember.js: Làm thế nào để truy cập vào các trường hợp xem lồng nhau
App.ParentView = Ember.View.extend({
ChildView: Ember.View.extend({ ... }),
method: function() {
this.get('ChildView') // => this is the class, not the instance :(
}
});
{{#view App.ParentView}}
{{#view ChildView}}
...
{{/view}}
{{/view}}
Tôi muốn tránh ràng buộc rất nhiều thuộc tính giữa các điểm phụ huynh và chế độ xem con. Thay vào đó, tôi muốn làm một cái gì đó như this.getPath('ChildView.foo')
. Nhưng this.get('ChildView')
trả về lớp mà tôi đã tạo với Ember.View.extend, không phải là cá thể, vì vậy tôi không thể truy cập các thuộc tính.
Có cách nào hợp lý để truy cập phiên bản hiện tại của chế độ xem con từ bên trong phương thức của chế độ xem gốc không?
Dường như với tôi ràng buộc 'viewName' là những gì tác giả ember.js dành cho bạn để sử dụng,' _childViews' trông IMO riêng tư. Và đưa ra một cái nhìn một id không giúp đỡ nếu bạn có nhiều trường hợp của nó. –
Cảm ơn, điều này rất hữu ích. Tôi đã thông qua một quy ước gọi các lớp của tôi 'ChildView' (viết hoa) và sử dụng' viewName = "childView" '(không được viết hoa) cho các tên cá thể. Điều này làm cho nó không hợp lý. –
@Bradley, trong ví dụ của bạn, có sự khác biệt giữa '' 'getPath''' và' '' get''', nếu '' 'this''' đề cập đến chế độ xem gốc không? –