Eu quero várias variáveis alternadas como true ou false dependendo da rota atual
Eu quero várias variáveis alternadas como true ou false, dependendo da rota atual, que o controlador verifica quando a página é carregada.
VpcYeoman.SuperTableController = Ember.ArrayController.extend({
routedToLocations: false,
routedToUsers: false,
currentPath: '/',
checkCurrentPath: function() {
if ( currentPath == '/users')
this.set( 'routedToUsers', true )
} elsif ( currentPath == '/locations' ) {
this.set( 'routedToLocations', true )
}
});
superTable.hbs
{{#if routedToUsers}}
Users!
{{/if}}
{{#if routedToLocations}}
Locations
{{/if}}
em users.hbs
{{render superTable model}} //which will result in the string 'Users!'
em locations.hbs
{{render superTable model}} //which will result in the string 'Locations!'
Ou talvez eu possa adicionar as variáveis, comoroutedToUsers
, dentro do controlador 'users' com valores definidos. Seria como,
- users_controller.js -
routedToUsers: true,
canBeEdited: false,
canBeDeleted: true,
Dessa forma, cada super tabela possui essas variáveis, exceto que elas já estão predefinidas. Outro exemplo.
- locations_controller.js -
routedToUsers: false, // this is obviously false but for example's sake
routedToLocations: true,
canBeEdited: false,
canBeDeleted: false,
Então, se eu clicar em um#link-to
em outra página que me direcionou para 'usuários', por exemplo, o controlador usaria 'checkCurrentPath
'para garantir que eu realmente estivesse na página dos usuários.