我想在自定義指令中綁定「ngFor」索引作爲屬性 我做錯了什麼?Angular 2指令綁定
驗證碼:
@Directive({selector: '[closeWeb]'})
class CountClicks {
numberOfClicks = 0;
@HostListener('touchstart', ['$event.target'])
touchstart(btn) {
console.log(btn)
}
}
@Component({
selector: 'wrap',
template: `
<div class="wrap">
<div class="item" *ngFor="#webviews of webviewsCount; #i = index">
<!-- I want to bind index in custom directive as attribute -->
<div [closeWeb]="i">{{i}}</div>
</div>
</div>
`,
directives: [CountClicks]
})
export class Wrap {}
而且我得到這個錯誤:
EXCEPTION: Template parse errors:
Can't bind to 'closeWeb' since it isn't a known native property ("</div><div [ERROR ->][closeWeb]="i">{{i}}</div></div></div>"): [email protected]:21
不幸的是,它並不能幫到我。然後我添加註釋,錯誤消失,但然後我點擊元素,我只有標籤沒有指令'
實際上,該指令實際上是應用的。我的意思是你可以點擊幾次元素。看到這個plunkr:https://plnkr.co/edit/Lm4qnfcAhmTDXpELh6ib?p=preview。爲什麼你需要'closeweb'zttribute仍然存在? –
工作,非常感謝!這個索引作爲屬性需要我在業務邏輯中的其他功能(我將代碼從Angular 1.4升級到Angular 2)。但是我有一個問題,那麼你在這段代碼中替換'touchstart'到'click'' @HostListener('touchstart',['$ event.target']); touchstart(btn){console.log('click ='+ btn +' - '+ this.numberOfClicks); }' - 你實現click作爲touchstart事件,對吧? –