dart - AngularDart 动态改变页面标题

标签 dart angular-dart

我的一个组件根据路由从 MongoDB 中提取页面标题(和内容),并将标题存储在该组件类的实例变量中。在 <title> 中留 mustache 的最佳方式是什么?标记要显示的变量,例如 <title>Site Title | {{pageName}}</title><title>标记超出了组件的范围。也许 Controller 适合这个用例,但我不太确定 Controller 指令或根对象的状态是什么。我考虑过提供服务并将其注入(inject)两者,但这似乎有点过分了。有一个更好的方法吗?谢谢!

最佳答案

我最终制作了一个新组件和一项服务。

我简化的index.html(几乎没有变化):

<html ng-app>
    <title>Site Title</title>
</head>
<body></body>

存储一个变量的服务:

import 'package:angular/angular.dart';

@Injectable()
class Global {
  String pageTitle;

  Global();
}

以及带有标题选择器的组件:

library title;

import 'package:angular/angular.dart';
import 'package:mypackage/service/global.dart';

@Component(
    selector: 'title',
    template: 'Site Title | {{titleComp.global.pageTitle}}',
    publishAs: 'titleComp',
    useShadowDom: false)
class TitleComponent {
  final Global global;

  TitleComponent(this.global);
}

然后我将 Global 注入(inject)另一个组件并在每次加载新页面时修改 global.pageTitle

我很乐意听到对此的任何改进或使用根 Controller 或根范围的方法。

关于dart - AngularDart 动态改变页面标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25356958/

相关文章:

dart - Angular Dart 和 Polymer Dart 的区别

dart - 递归使用组件

dart - AngularDart v1.0 Uncaught Type "[type]"not found in generated typeFactory maps

android - DIO 响应解码问题

Flutter 在变量值改变时执行一个函数

flutter - 从流一一获得 future

dart - 为什么在这种情况下使用工厂构造函数

dart - 现在 Controller 已弃用,我应该使用什么代替?

flutter - Flutter:具有CachedNetworkImageProvider的BottomNavigationBarItem

Dart、float for 循环会导致奇怪的结果