2016-09-26 84 views
2

我想創建一個自定義屬性指令並將其綁定到屬性。我計劃檢索這個屬性並在稍後獲取值。如何在Angular 2中創建屬性指令並將其綁定到屬性?

我創建了一個指令:

@Directive({ 
    selector: '[data-url]' 
}) 

export class DocumentURL{ 
    constructor(private el: ElementRef, private renderer: Renderer) { } 
} 

這是使用指令組件:

@Component({ 
    templateUrl: 'some.component.html', 
    directives: [DocumentURL] 
}) 

這是我some.component.html:

<div class="col-xs-6" [data-url]='docUrl' (mouseleave)='onMouseLeave($event)'> 

然而,它是拋出一個錯誤說: 無法綁定到'數據網址',因爲它不是一個已知的本地e property

有人可以幫忙嗎?謝謝。

+0

您正在使用哪個Angular版本? –

+0

Angular 2是我使用的版本 –

+0

Angular2版本是什麼? –

回答

6

您必須在您的指令中添加@Input屬性。

@Directive({ 
    selector: '[data-url]' 
}) 
export class DocumentURL{ 

    @Input('data-url') 
    dataUrl:string; 

    constructor(private el: ElementRef, private renderer: Renderer) { } 
} 

請參閱plunkr

+0

我做了這個,但仍然沒有被識別。 –

+0

這很奇怪,我創建了一個plunkr,它適用於我:/ –

+0

謝謝Noemi。它現在也適用於我。但是,當我使用f12檢查數據時,我沒有看到任何數據。任何理由?我可能錯過了一些東西。 –

相關問題