2013-08-31 11 views
5

value属性をモデルに組み込むためにAngularJSに指示するにはどうすればよいですか?私がng-model属性を与えたフィールドは、すぐに何もないか、コントローラで定義したものに置き換えられたvalueです。ここではいくつかのコードは次のとおりです。AngularJS入力値属性を使用する

<form action="" method="post" ng-controller="PageCtrl"> 
    <input type="text" name="title" ng-model="title" value="Initial field value"> 
</form> 

とJavaScript ...

function PageCtrl($scope, Slug) { 
    $scope.title = null; 
} 

は、私が他のものにそれを設定し、$scope.titleを設定しないしようとしましたが、関係なく、私は何をすべきか、valueは完全に無視されていません。私に何ができる?

答えて

5

はい、anglejsによってvalue属性が無視され、ng-modelが優先されます。混乱を避けるために、入力から値を完全に削除する方が良いでしょう。

デフォルト値を設定する角度は、コントローラー内に$scope.title = 'Initial field value'を設定することです。可能な限りそのようなものを構成するのが好ましい方法です。それが不可能な場合は、入力でng-initを使用して同じことを行うこともできます。

<input type="text" name="title" ng-model="title" ng-init="title = 'Initial field value'"> 
+0

この場合、私はRailsでフォームを作成しています。どのようにして、データをフォーム集計用にコントローラに取得することをお勧めしますか? – Jonah

+0

@Jonah問題は何か分かりませんか? $ scope.title = "some default value"を設定することも、入力にプレースホルダ属性を設定することもできます。実際に何を達成しようとしていますか?サービス層と通信するには、$ httpまたは$ resourceのいずれかを使用できる必要があります。 – shaunhusain

+0

@shaunhusain Javascriptを使わずにフォームに動的に入力できるようにしたい。これは基本的な機能でなければならないと思われます:( – Jonah

関連する問題