【发布时间】:2017-09-30 00:36:08
【问题描述】:
这是我的 angular 2 组件:
@Component({
selector: '[my-component]',
template:`<ng-content></ng-content>`
})
export class MyComponentClass {
@Input() myComponent: string;
...
这允许我在 Angular 2 应用程序中将其用作任何 html 标记的指令,例如:
<div [myComponent]="'my text string'"></div>
<span [myComponent]="'my text string'"></span>
但是当在 angularJs 应用程序中使用相同的组件降级时:
angular.module('myApp')
.directive('myComponent', downgradeComponent({component: MyComponentClass , inputs: ['myComponent']}) as angular.IDirectiveFactory);
现在这行不通了:
<div [myComponent]="'my text string'"></div> // or
<div [my-component]="'my text string'"></div>
仅当我将其用作组件时
<my-component [my-component]="'some text'"></my-component>
我做错了什么? 我不希望它被用作新的 html 标签,而是作为可以添加到任何 html 元素(指令)的指令。
【问题讨论】:
标签: angular angular2-directives angular2-components