2017-08-23 2 views
0

J'essaie de passer une valeur de route à template. Mais je ne suis pas capable d'obtenir le résultat. comment passer la valeur de route au modèle.Passer la valeur de `route` au modèle

voici mon essai:

mes route.js:

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    name:"SCB" 
}); 

Voici mon fichier HBS:

<h1>My Name is : {{name}}</h1> 

Live Twiddle

Répondre

2

Le modèle est mis en correspondance avec le contrôleur , pas la route. Pour ce faire, utilisez la fonction setupController:

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    setupController(controller) { 
     this._super(...arguments); 
     controller.set('name', 'SCB'); 
    } 
}); 

Une autre solution serait d'utiliser un contrôleur:

import Ember from 'ember'; 

export default Ember.Controller.extend({ 
    name: 'SCB' 
}); 
+0

Il fonctionne très bien. parce que j'essaye d'éviter 'controller' depuis que ember a décidé d'abandonner cela – 3gwebtrain

+0

@ 3gwebtrain: Oui, c'est pourquoi j'utilise la plupart du temps la fonction' setupController'. Par souci d'achèvement, j'ai également mentionné l'utilisation de la solution contrôleur. –

+0

'controller.set ('nom', 'SCB');' est-ce seulement possible avec 'setupController' ou n'importe où dans les méthodes du routeur? ex: 'click' n'importe quelle méthode puis-je définir? – 3gwebtrain