2014-11-06 25 views
12

Tôi có mẫu mẹ sau:Tiếp cận bối cảnh dữ liệu cha mẹ trong Template trả lại chức năng trong Meteor

<template name="parentTempl"> 
    {{#each child}} 
     {{> childTempl}} 
    {{/each}} 
</template> 

tôi muốn truy cập bối cảnh dữ liệu cha mẹ trong childTempl:

Template.childTempl.rendered = function() { 
    console.log(this.parent.data); // ? 
}; 

Làm thế nào tôi có thể làm điều này ? Mọi sự trợ giúp sẽ rất được trân trọng.

+1

Bạn đã xem https://docs.meteor.com/#/full/template_parentdata chưa? – mark

+0

Có. Vấn đề là, khi tôi sử dụng 'Template.parentData (1) ._ id' trong hàm' rendered' của tôi, tôi nhận được lỗi này: 'Lỗi: Không có chế độ xem hiện tại'. – user3475602

+1

Thật lạ lùng, tôi chỉ thử nghiệm nó và nó có vẻ hoạt động. Những gì hiện this.view hoặc Blaze.currentView trở lại bên trong hàm rendered? – mark

Trả lời

22

Bạn có thể sử dụng Template.parentData(n) để truy cập vào ngữ cảnh gốc bên trong mọi trình trợ giúp mẫu hoặc gọi lại được hiển thị. Xem tài liệu here. Bên trong, tất cả những gì nó làm là gọi phương thức getView Blaze cho khung nhìn cha cho đến khi nó chạm vào bối cảnh cha mẹ mong muốn (như được định nghĩa bởi n).

+3

Điều này sẽ được thực hiện như thế nào trong một sự kiện? Template.hello.events()? –

Các vấn đề liên quan