【问题标题】:AngularJS ng-value and ng-model do not work together [duplicate]AngularJS ng-value 和 ng-model 不能一起工作[重复]
【发布时间】:2019-06-24 11:16:18
【问题描述】:
我试图使用 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>
【问题讨论】:
标签:
angularjs
angular-ngmodel
angularjs-ng-value
【解决方案1】:
文档明确指出,在与ng-model 进行双向 绑定时,不应使用ng-value。
来自文档:
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;
【解决方案2】:
这些指令不能一起使用
“它还可以用于实现给定表达式与输入元素(例如 input[text] 或 textarea)的单向绑定,当该元素不使用 ngModel。”
您应该在控制器中设置此值,而不是使用 ng-value。