javascript - 将网站标题传递给应用程序模板

标签 javascript ember.js handlebars.js

我正在构建我的第一个 Ember 应用程序,但不知何故我无法让它正常工作。

在我的网站中,模板在应用程序模板的导出中呈现。然后还有一些通往不同站点的路线。每个站点都有不同的标题。应用程序模板具有此标题的占位符。

但是如何显示与底层站点 Controller (index、about、...)相关的特定标题?

我在这里找到了这个:Setting page title with ember.js但它不适合我。有正确的方法吗?或者我真的必须给我的 h1 标签一个 id 并使用 jQuery 设置它吗?

Jsbin:http://jsbin.com/ucanam/1912/edit

最佳答案

您需要设置模板上下文的标题属性。 对于应用程序模板,这是App.ApplicationController

App.IndexRoute = Ember.Route.extend({
  activate: function() {
    this.controllerFor('application').set('title', "Home");
  }
});

要设置文档标题,您只需添加一个观察者,以便在标题更改时触发。

App.ApplicationController = Ember.Controller.extend({
  titleDidChange: Ember.observer(function(){
    document.title = this.get('title');
  }, 'title')
});

http://jsbin.com/ucanam/1921/edit

关于javascript - 将网站标题传递给应用程序模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19682729/

相关文章:

javascript - Vue.js - 从指令发出事件

ember.js - 将 Ember 项目上的 SASS/SCSS 与 POD 结构集成

javascript - 选择从数据上下文传递的 MongoDB 中的字段

javascript - 如何为IE6-IE8做一个按摩来升级他们的浏览器?

javascript - 添加 onClick 事件到 document.createElement ("th")

javascript - 将 jQuery 函数导入 Ember 错误 "i is not defined"

javascript - 在 ember 中获取 Uncaught Error

javascript - Ember-data:DS.Store.createRecord 上的模型刷新

javascript - Ember.js/Handlebars.js 将条件类属性绑定(bind)到 {{#link-to}} 助手

javascript - 在 Javascript 中标记为 while 循环