2012-02-14 32 views
17

Đây có lẽ vượt quá dễ dàng, nhưng tôi có một thời gian khó có thể tìm ra cách để truy cập vào tính chất của quan điểm cha mẹ:Làm thế nào để có được tài sản của cha mẹ Xem trong Ember?

App.ParentView = Ember.View.extend({ 
    foo: 'bar', 

    child_view: Ember.View.extend({ 

    init: function(){ 
     // get the value of App.ParentView.foo 
     // ??? 
    } 
    }) 

}); 
+0

Xin lưu ý rằng trong con người y trường hợp truy cập vào khung nhìn cha mẹ là một dấu hiệu của mùi mã. Tuy nhiên, thật khó để nói nhiều hơn mà không cần biết chi tiết ở đây. –

Trả lời

30

Để có được cái nhìn: this.get('parentView')

Để có được giá trị của foo this.get('parentView.foo')

+1

Với một tình huống mà bạn muốn truy cập vào khung nhìn cha mẹ trong các thanh ghi, bạn có thể sử dụng '{{view.parentView.foo}}'. ví dụ: '{{#view Wrapper}}

{{view.parentView.foo}}
{{/ view}}' – chuckg

+2

Người mới bắt đầu! Đoạn mã ở trên nói App.parentView có tính gây hiểu lầm. Bạn nên luôn luôn nhận được ("parentView") bất kể tên bạn đã cho xem của bạn. – Nico

+0

Cảm ơn vì điều này. Chỉ cần cứu tôi rất nhiều thời gian. – DexterW

3

Tom đúng. Tôi cũng đã tạo ra một Fiddle JS để chứng minh điều này và cũng có thể minh họa cho đặc biệt contentView bất động sản, có thể hữu ích trong loại tình huống: http://jsfiddle.net/rSLQK/2/

4

Trong Ember trước 1.0.pre bạn cũng có thể sử dụng phương pháp getPath, thay vì chuỗi get(), cho gọn gàng hơn (và thường an toàn hơn) mã:

this.getPath("parentView.foo"); 

gì mát mẻ trong Ember 1.0.pre là get() phương pháp bây giờ hỗ trợ con đường, vì vậy bạn có thể viết

this.get("parentView.foo"); 
Các vấn đề liên quan