【发布时间】:2016-01-28 08:54:38
【问题描述】:
可以在 Angular 1 中装饰(覆盖)指令定义。
这里有解释:http://www.bennadel.com/blog/2926-overriding-directive-definitions-in-angularjs.htm
有一个内置函数
angular.module( "X" ).decorator(
为此。
在 angular2 中,我们没有模块。推荐的方法是使用 typescript 模块。
如何在 angular2 中装饰(覆盖)指令?
我想这样做的主要原因是为了自定义,当我在几个站点中部署我的应用程序时。
假设我的所有应用程序都有一个 bundle.js,然后我只想放入一个带有大量自定义项的 customer.js,而不是为每个站点部署更改和重建我现有的 bundle.js。
让我们添加一个英雄之旅的具体例子: 我在 javascript 文件中定义了我的应用组件:
import {Component, OnInit} from 'angular2/core';
import {Hero} from './hero';
import {HeroDetailComponent} from './hero-detail.component';
import {HeroService} from './hero.service';
@Component({
selector: 'my-app',
template:`
<h1>{{title}}</h1>
<h2>My Heroes</h2>
<ul class="heroes">
<li *ngFor="#hero of heroes"
[class.selected]="hero === selectedHero"
(click)="onSelect(hero)">
<span class="badge">{{hero.id}}</span> {{hero.name}}
</li>
</ul>
<my-hero-detail [hero]="selectedHero"></my-hero-detail>
`,
directives: [HeroDetailComponent],
providers: [HeroService]
})
我希望能够在另一个 javascript 文件中将 HeroDetailComponent 与另一个组件 CustomHeroDetailComponent 进行切换。
这怎么可能?
【问题讨论】:
标签: angular