2017-03-09 4 views
1

実際には、ngModel.NgModelController'sのメソッドとプロパティをコントローラー内で使用する方法を尋ねたいと思います。apiのリンクを与える代わりに、ngModel.NgModelControllerの使用方法についてもっと説明があるとすれば完璧でしょうか?私が直面してきたことは、自分のコントローラー内で次のようなことを設定したいのですか?より正確には、ドロップインがクリックされると "--- please fill in ---"のテキストが消えるようにしたいのですが、以下の例のようにコントローラで操作したいと思います。

  1. (私はフォームをやっているように)私は、コントローラとHTMLテンプレート
  2. の両方でフォームのために使用されるオブジェクトを設定するにはどうすればよい:私の質問をオフに分割するには、私が興味を持っていくつかの部分があります
  3. コントローラとHTMLテンプレートの両方の下の選択フィールドのように、フォームフィールドのそれぞれに対応するオブジェクトを設定するにはどうすればいいですか?
  4. 質問を解決するために何を知るべきですか?

    <select name="dropdown" 
          ng-model="$ctrl.value" 
          ng-options="o.id as (o.state) for o in $ctrl.form.stateCode.options"> 
        <option ng-if="!form.dropdown.$touched" value=""> --- please fill in --- </option> 
    </select> 
    

P.S.私はとangularを一緒に使用しているので、$ctrlがコントローラのスコープを実際に表している可能性があるかどうかわかりません。

+0

使用[NG-フォーム指令](httpsのために行く必要があり、この詳細について$scope

から$ctrlプロパティをバインドします。 org/api/ng/directive/ngForm)を使用して[ngModelController API](https://docs.angularjs.org/api/ng/type/ngModel.NgModelController)をスコープにバインドします。詳細については、[AngularJS Developer Guide - Forms](https://docs.angularjs.org/guide/forms)を参照してください。 – georgeawg

答えて

1

フォームを使用しているときは、フォームタグをname属性で使用し、角度が現在のコントローラーの範囲にバインドするようにすることをお勧めします。 と入力した後で、その形式の入力を使用してng-model指令を使用している入力を入力した場合、その入力コントローラはformcontrollerにバインドされます。ここで私はフィドルを添付していますhttp://jsfiddle.net/WdVDh/79/

$ctrl$scopeと同じではありません。 //docs.angularjs:我々はcontroller as構文を使用している場合は、その角度は、あなたがhttps://docs.angularjs.org/guide/forms

関連する問題