5

How can I direct AngularJS to assimilate the value attribute into the model? Any field that I give an ng-model attribute has its value immediately replaced with nothing, or whatever I define in the controller. Here's some code:

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

And the Javascript...

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

I've tried not setting$scope.title, setting it to other things, but no matter what I do, the value is completely ignored. What can I do?

4

1 に答える 1

5

はい、ng-model を優先して、angularjs は value 属性を無視します。混乱を避けるために、入力から値を完全に削除することをお勧めします。

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

 <input type="text" name="title" ng-model="title" ng-init="title = 'Initial field value'">
于 2013-08-31T01:33:49.340 に答える