Quiero que varias variables se alternen como verdaderas o falsas dependiendo de la ruta actual
Quiero que varias variables se alternen como verdaderas o falsas según la ruta actual, que el controlador verifica cuando se carga la página.
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}}
en users.hbs
{{render superTable model}} //which will result in the string 'Users!'
en ubicaciones.hbs
{{render superTable model}} //which will result in the string 'Locations!'
O tal vez podría agregar las variables, comoroutedToUsers
, dentro del controlador 'usuarios' con valores establecidos. Se vería como,
- users_controller.js -
routedToUsers: true,
canBeEdited: false,
canBeDeleted: true,
De esta manera, cada supertabla tiene esas variables, excepto que ya están predefinidas. Otro ejemplo.
- locations_controller.js -
routedToUsers: false, // this is obviously false but for example's sake
routedToLocations: true,
canBeEdited: false,
canBeDeleted: false,
Entonces si hago clic en un#link-to
en otra página que me envió a 'usuarios', por ejemplo, el controlador usaría 'checkCurrentPath
'para asegurarme de que realmente estaba en la página de usuarios.