AngularJS ng-value和ng-model不能一起使用

时间:2019-01-31 03:58:09

标签: angularjs angular-ngmodel angularjs-ng-value

我试图使用ngvalue为textfield赋值,并且textarea具有该值,但是当我提交该值时,它被识别为textarea为空。

 <textarea  ng-value="main.record.basic_info.application_letter"
            class="form-control" 
            ng-model="main.record.apply_job.cover_letter" 
            name="name" rows="15" cols="80" style="resize: none">
 </textarea>

2 个答案:

答案 0 :(得分:0)

您不能同时使用这些指令

当该元素不使用ngModel时,也可以用于将给定表达式单向绑定到输入元素,例如input [text]或textarea 。”

您应该在控制器中设置此值,而不要使用ng-value。

答案 1 :(得分:0)

文档明确指出,与ng-value进行双向绑定时,不应使用ng-model

从文档中:

  

ngValue

     

将给定的表达式绑定到元素的值。

     

它还可以用于实现给定表达式与输入元素(例如input[text]textarea)的单向绑定,元素不使用 ngModel

     

AngularJS ng-value Directive API Reference

相反,从控制器初始化值:

<textarea  ̶n̶g̶-̶v̶a̶l̶u̶e̶=̶"̶m̶a̶i̶n̶.̶r̶e̶c̶o̶r̶d̶.̶b̶a̶s̶i̶c̶_̶i̶n̶f̶o̶.̶a̶p̶p̶l̶i̶c̶a̶t̶i̶o̶n̶_̶l̶e̶t̶t̶e̶r̶"̶
           class="form-control" 
           ng-model="main.record.name" 
           name="name" rows="15" cols="80" style="resize: none">
</textarea>
$scope.main.record.name = $scope.main.record.basic_info.application_letter;