我想在angular2上做一些工作,但無法找到有關此行爲的信息。組件輸入屬性上的雙向數據綁定
我有一個實現這樣一個自定義組件的應用程序:
import {Component,Input} from 'angular2/core'
@Component({
selector:'my-comp',
template:`<input type="text" style="text-align:center; [(ngModel)]="inputText"> <p>{{inputText}}</p>`
})
export class MyComp{
@Input() inputText : string;
}
,我試圖做雙向綁定我inputText
變量從我的部分是這樣的:
<my-comp [(inputText)]="testString"></my-comp>
其中testString
是包含字符串的MyApp.ts
中定義的變量。當我的inputText
被用戶修改時,我想要修改我的testString
變量。
下面是一個簡單的示例代碼Plunker:https://plnkr.co/edit/zQiCQ3hxSSjCmhWJMJph?p=preview
有沒有辦法讓這個工作簡單一點嗎?我是否必須在自定義組件和重載函數上實現Angular2類才能使其工作如同ngModel
?我一定要創建EventEmitter
類型時,它改變了我的發射數據的inputTextChanged
變量,做這樣的事情:
預先感謝您。
是的,你必須創建一個事件發射器「inputTextChanged」,並在組件中激發事件。然後[(inputText)]應按預期工作。 – pixelbits
作爲一個通知:在Angular2中沒有像雙向數據綁定這樣的事情,但是你可以有類似的行爲。 http://victorsavkin.com/post/110170125256/change-detection-in-angular-2 – jornare
那麼根據官方網站上的Angular2 Cheat Sheet:「 \t 設置雙向數據綁定。相當於:「。所以我認爲我們可以說在Angular2中存在雙向數據綁定。 –