- list item
i have login controller . after login successful calling controller.transitiontoroute('patients.index') dashboard. page gets redered header menu not updating . if try refresh page hitting f5 header gets updated.
thanks in advance.
my controller:
export default ember.controller.extend({ login: ember.inject.service('testservice'), actions: { authenticate: function() { var controller=this; controller.set('login').currentuser=false; controller.transitiontoroute('dashboard.index'); }, } });
dashboard route :
export default ember.route.extend({ authmanager: ember.inject.service('testservice'), rendertemplate: function() { this.render({ outlet: 'master', }); }, });
application.hbs handlbar:
<header id="main">
{{#link-to 'index'}}<img id="logo" src="assets/logo.png"/>{{/link-to}} <ul id="user"> <li><a id="user-icon"></a> <ul> {{#if isuser}} <li>{{#link-to 'account.edit'}}account{{/link-to}}</li> <li>{{#link-to 'account.invitation'}}invite{{/link-to}}</li> <li><a {{action 'logout'}}>logout</a></li> {{else}} <li><a {{action 'userlogin'}}>login</a></li> <li>{{isuser}}</li> {{/if}} </ul> </li> </ul> </div> </header> <div class="container"> {{outlet}} </div>
application controller:
export default ember.controller.extend({ login: ember.inject.service('testservice'), isuser:function() { return this.get('login').currentuser; }.property('login'), });
controller.set('login').currentuser=false;
return this.get('login').currentuser;
wrong!
first controller
? want use ember.set(this, 'login.currentuser' true)
, or this.set('login.currentuser', true)
, or this.get('login').set('currentuser', true)
.
for same. never ...get(...).something
! this.get('login.currentuser')
or ember.get('login.currentuser')
.
btw can rewrite
isuser:function() { return this.get('login').currentuser; }.property('login'),
with
isuser: ember.computed.alias('login.currentuser'),
Comments
Post a Comment