Если я правильно понимаю, что вы пытаетесь выполнить sh, это хороший вариант использования services .
Вам нужна пара частей. Служба для отслеживания заголовка страницы, а затем вам нужно внедрить эту службу в контроллер приложения, чтобы шаблон имел доступ к службе, а также внедрить службу заголовка страницы в маршруты, чтобы вы могли обновить заголовок страницы в соответствующие крючки.
- Страничная служба
import Service from '@ember/service';
import { tracked } from '@glimmer/tracking';
export default class extends Service {
@tracked title = "Your App"
}
Контроллер приложения и шаблон
import Controller from '@ember/controller';
import { inject as service } from '@ember/service';
export default class ApplicationController extends Controller {
@service pageTitle;
}
<h1>Welcome to {{this.pageTitle.title}}</h1>
<br>
<br>
{{outlet}}
<LinkTo @route="my-route">my route</LinkTo>
<br>
<br>
Маршрут MyRoute, обновляющий значение заголовка страницы в хуке модели
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';
export default class extends Route {
@service pageTitle;
model() {
this.pageTitle.title = "My Route"
}
}
Я собрал все это вместе в интерактивной демонстрации Ember Twiddle .
Надеюсь, это поможет!