【发布时间】:2018-03-21 04:45:59
【问题描述】:
所以在 angularjs 中你可以定义一个指令并将 html 模板绑定到一个已经存在的控制器。原则上,这意味着您可以将控制器重用于多个指令,因此也可以用于多个模板。
angular
.module('App')
.component('Name', {
templateUrl: 'some.html',
controller: 'someController'
});
如何在 Angular 中执行此操作。据我了解,Angular 组件是指令,并且总是直接绑定 html。基本上我想使用另一个视图,它只更改 html 但保持相同的功能。
编辑:
基本上我想要这个:
@Component({
selector: 'jhi-exercise-list',
templateUrl: '(MULTIPLE HTML TEMPLATE PATHS HERE)',
providers: [
]
})
export class className{
//USING THE SAME COMPONENT CODE FOR THE MULTIPLE TEMPLATES
constructor(){}
}
到目前为止,我发现的唯一选择是通过扩展,但我认为这太过分了。
【问题讨论】:
-
您的意思是 html 中的更改只是布局外观和感觉都相同。不是吗?
-
是的,基本上新模板中的一些东西都被去掉了,所以一些功能没有用到,但是功能保持不变,如果我再创建一个新组件就会被重写代码。
-
在 Angular 中,组件是一个单一的实体。您可以扩展它并为子类提供其他模板。
-
你可以在这里找到一些帮助:stackoverflow.com/q/46235412/5468463