3
我在綁定動態函數到點擊事件時遇到了一些麻煩。請看下面: -動態(點擊)功能 - Angular2
文件1
<title-bar [actions]='[{title: "Create A New Plan", link: "hello"}]' ></title-bar>
文件2
<div class="actions" *ngIf="actions">
<a *ngFor="let action of actions" class="ui primary button" (click)="[action.link]()">{{action.title}}</a>
</div>
所有代碼的工作完全分開時,我結合在(點擊)action.link。
如果我創建了以下按鈕: -
<button (click)="hello()"></button>
它調用的Hello()函數,因爲它應該。但由於某種原因,我無法使其動態工作。
有沒有人有一個簡單的解決方案,我可能看過嗎?
該函數調用一個簡單的警告只是用於測試: -
public hello() {
alert('test');
}
II試圖單擊事件更改爲以下但沒有喜悅: -
(click)="action.link"
(click)="[action.link]()"
(click)="this[action.link]()"
我得到的以下錯誤分別爲: -
No error, but not function called
inline template:3:2 caused by: ["hello"] is not a function
inline template:3:2 caused by: self.parentView.parentView.context[self.context.$implicit.link] is not a function
任何幫助推正確的方向將是ver非常感謝。
你能夠解釋和闡述了「獲得自我(){返回此;}」功能? –
使用'(click)=「[action.link]()」'你創建一個包含一個項目'action.link'的數組,並且應用一個函數調用(這不會有效)。通過'(click)=「self [action.link]()」''''''''''''''''''''你引用屬性''self''返回的對象的'action.link'的名稱,這是組件類實例(我認爲是你要)。 '這個'在模板AFAIK中不被支持,所以'self'是一個解決方法來使'this'可用。 –
謝謝你解釋,這項工作完美地工作。 –