Kod Routera Iron:
this.route('petProfile', {
path: '/pets/:_id',
data: function(){
return Adoptees.findOne(this.params._id);
}
});
To jest dość proste. Jeśli mam klawisz petName
dla każdego obiektu w kolekcji Adoptees
, mogę wystarczyć szablony kierowców, aby uzyskać dostęp do kontekstu danych.
Petprofile.html:
<template name="petProfile">
<h1>{{petName}}</h1>
</template>
Ale powiedzmy, że chcę mieć kontekst danych w powiązanym pliku JavaScript:
Petprofile.js:
Template.petProfile.rendered = function() {
var petName = //How do I get the pet name from the data context in Iron Router?
}
Świetnie, działa. Takie oparte na odpowiedzi Saimeunt, mogę po prostu zrobić:
Petprofile.js:
Template.petProfile.rendered = function() {
var petName = this.data.petName;
}
2 odpowiedzi
W wywołaniu zwrotnym created / rendered / destroyed
można uzyskać dostęp do kontekstu danych za pomocą this.data.field
, ponieważ this
jest mapowany do instancji szablonu.
W funkcjonariuszy i obsługi zdarzeń można uzyskać dostęp do niego przy użyciu this.field
, ponieważ this
jest mapowany bezpośrednio do kontekstu danych.
Dostęp do danych można uzyskać w szablonie przy użyciu "tego"
Więc
this.petName