Ember.js 无法在ember中使导航栏项目动态
我在application.hbs中放置了导航栏组件,以便它始终可见。但我想在每次访问页面时更改导航栏的标题(假设我在索引页面上,则应显示“主页”,如果我在配置文件页面上,则应显示“配置文件”,等等)。现在发生的情况是导航栏标题始终保持“主页”这是因为导航栏在浏览器中加载页面期间仅呈现在U上,之后不会根据页面进行更改 application.hbsEmber.js 无法在ember中使导航栏项目动态,ember.js,ember-cli,Ember.js,Ember Cli,我在application.hbs中放置了导航栏组件,以便它始终可见。但我想在每次访问页面时更改导航栏的标题(假设我在索引页面上,则应显示“主页”,如果我在配置文件页面上,则应显示“配置文件”,等等)。现在发生的情况是导航栏标题始终保持“主页”这是因为导航栏在浏览器中加载页面期间仅呈现在U上,之后不会根据页面进行更改 application.hbs {{top-navbar dp_url=model.profile.dp_url first_name=model.profile.first_na
{{top-navbar dp_url=model.profile.dp_url first_name=model.profile.first_name title=title}}
{{outlet}}
在这里,我根据用户所在的页面计算标题的值
js(控制器)
在这里,currentpage
有应用程序的当前url,我正在比较它并决定导航栏标题的值
但顶部导航栏标题值仅在用户首次在浏览器中加载应用程序时计算,而不是在我从一条路线移动到另一条路线时计算
我还尝试了
Ember.events
,但无法解决它。我不知道您使用的是什么Ember.js和Ember数据版本,currentState
,无论如何,看起来您使用的是一个专用于Ember内部的方法,而不是应用程序中使用的方法
实现您想要的目标的一种可能的(但可能不必要的复杂)方法是:
导航栏数据
)store.createRecord('navbar-data',{ID:1,title:“index”})
)为导航栏创建并返回记录store.peekRecord('navbar-data',1)
查看记录,并更改要在navbar中更改的值record.save()
保存
if (currentPage === "" || currentPage === "#"){
currentState.set('title',"Home")
}
else if(currentPage === "Userprofile"){
console.log('myStudio');
currentState.set('title',"UserProfile");
}