【问题标题】: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。

    【讨论】:

      猜你喜欢
      • 2017-11-26
      • 2019-08-12
      • 2015-12-12
      • 1970-01-01
      • 1970-01-01
      • 2016-08-26
      • 2019-08-06
      • 1970-01-01
      相关资源
      最近更新 更多