という属性にバインドする@Input
を含むangle2 appに単純なフォーム入力コンポーネントがあります。あなたが推測したように、[dataProperty]
属性は[dataProperty]="modelObject.childObj.prop"
の形式の文字列値です。modelObject
は、アプリケーション全体で共有されているモデルです。基本的には、この@Input
属性を使用して、親コンポーネントから<custom-text-input>
コンポーネントにモデルを渡します。次に、[ngModel]
によってネストされたコンポーネントの入力にバインドされます。コンポーネントの入力属性バインディングの文字列値を角度2で読み取る方法は?
すべてが意図したとおりに動作し、コントローラで動作します。つまり、this.dataProperty
にアクセスすると、入力がバインドされているモデルの値が返されます。しかし、私が見つけられないように見えるのは、最初にテンプレートから[dataProperty]
に渡された文字列リテラルにアクセスする方法です。
コンポーネント:
@Component{
selector: "custom-text-input",
template: "<input type="text" [ngModel]="dataProperty"></input>
}
export Class customInputComponent implements OnInit {
@Input() dataProperty: string;
/**
ex of modelObject: { detail: { name: "Cornelius" } }
(^^^ would originate in parent component ^^^)
*/
constructor() {}
}
使用事例:私はコンポーネントコントローラからthis.DataProperty
にアクセスするために行くとき
<div class=wrapper>
<custom-text-input [dataProperty]="modelObject.detail.name">
</custom-text-input>
</div>
は基本的に、それは "コーネリアス" を返します。私のコントローラから"modelObject.detail.name"
文字列をキャプチャできるように、文字列リテラルにアクセスすることは可能ですか?
を意味するか、あなたが 'modelObject.detail.name' を取得したいですか?実際の値ではなく、渡される値の名前を知りたいですか? – Charlie
それはまさに私が必要としているものです。 –