javascript - parent template is not updating after transitiontoroute() in ember js -


  1. 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