尝试在 angular2 组件中使用 exportAs
try to use exportAs in angular2 component
是否为组件定义了 exportAs 属性。
如何在组件外部访问它的方法?
我试过这个例子
<my-app #my="myApp">
loading...
</my-app>
<button (click)="my.displayMessage()" class="ui button">
Display popup for message element
</button>
这里是组件 class
import {Component} from 'angular2/core'
@Component({
selector: 'my-app',
providers: [],
template: `
<div>
<h2>Hello {{name}}</h2>
</div>
`,
directives: [],
exportAs: "myApp"
})
export class App {
constructor() {
this.name = 'Angular2'
}
displayMessage():void {
console.log('called from component')
}
}
那是行不通的。在根组件 (App
).
的模板之外不能有任何 #xxx
、(xxx)
或任何其他类型的 Angular 绑定
您可能正在寻找类似
的内容
exportAs 用于指令,参见:http://plnkr.co/edit/IlLtBY7Ic9yKiRIpjukf?p=preview
@Directive({
selector: "div",
exportAs: "myDiv"
})
class MyDiv {
constructor(private element: ElementRef, private renderer: Renderer) {
}
toUpper() {
return this.renderer.setElementStyle(this.element.nativeElement, "text-transform", "uppercase");
}
toLower() {
return this.renderer.setElementStyle(this.element.nativeElement, "text-transform", "lowercase");
}
reset() {
return this.renderer.setElementStyle(this.element.nativeElement, "text-transform", "");
}
}
exportAs
被引入,并且从 Angular 5.
开始可用
Angular 2,4 没有。这里是 link 到 Angular.io blog for Angular5
是否为组件定义了 exportAs 属性。 如何在组件外部访问它的方法? 我试过这个例子
<my-app #my="myApp">
loading...
</my-app>
<button (click)="my.displayMessage()" class="ui button">
Display popup for message element
</button>
这里是组件 class
import {Component} from 'angular2/core'
@Component({
selector: 'my-app',
providers: [],
template: `
<div>
<h2>Hello {{name}}</h2>
</div>
`,
directives: [],
exportAs: "myApp"
})
export class App {
constructor() {
this.name = 'Angular2'
}
displayMessage():void {
console.log('called from component')
}
}
那是行不通的。在根组件 (App
).
#xxx
、(xxx)
或任何其他类型的 Angular 绑定
您可能正在寻找类似
exportAs 用于指令,参见:http://plnkr.co/edit/IlLtBY7Ic9yKiRIpjukf?p=preview
@Directive({
selector: "div",
exportAs: "myDiv"
})
class MyDiv {
constructor(private element: ElementRef, private renderer: Renderer) {
}
toUpper() {
return this.renderer.setElementStyle(this.element.nativeElement, "text-transform", "uppercase");
}
toLower() {
return this.renderer.setElementStyle(this.element.nativeElement, "text-transform", "lowercase");
}
reset() {
return this.renderer.setElementStyle(this.element.nativeElement, "text-transform", "");
}
}
exportAs
被引入,并且从 Angular 5.
Angular 2,4 没有。这里是 link 到 Angular.io blog for Angular5