に登録されていないI持ってAngularJSで、次の静的形式:AngularJS:フィールドを動的に追加はFormController
<form name="myForm" class="form-horizontal">
<label>First Name:</label>
<input type="text" name="first_name" ng-model="entity.first_name">
<label>Last Name:</label>
<input type="text" name="last_name" ng-model="entity.last_name">
</form>
角度が私のためにFormControllerを作成し、(フォーム名の下に)スコープにそれを公開しています。つまり、次のようなプロパティにアクセスできます。
$scope.myForm.first_name.$error
$scope.myForm.last_name.$invalid
...
これは非常に便利です!
しかし、私の場合は私が動的にフォームを構築、ディレクティブを使用しています:私はいくつかをフェッチした後(
<form name="myForm" class="form-horizontal">
<field which="first_name"></field>
<field which="last_name"></field>
</form>
を<field>
ディレクティブはしばらく後まで、実際の<input>
要素に解決されません。サーバーからのデータ、指示文のリンクなど)。ダイナミックフィールドがFormControllerに登録しませんでしたかのように
問題ここでは、何のフィールドプロパティは、フォームコントローラ上で定義されていないということです。
// The following properties are UNDEFINED (but $scope.myForm exists)
$scope.myForm.first_name
$scope.myForm.last_name
任意のアイデアなぜですか?任意のソリューション/回避策?
あなたはこのjsFiddleでコード全体を参照することができます
http://jsfiddle.net/vincedo/3wcYV/
を動作させるために少しハックとフィドルがあるを表示することができますか?私はこれが範囲の問題だと思う。 – Intelekshual
これを参照してくださいjsFiddle:http://jsfiddle.net/vincedo/3wcYV/ – AngularChef