javascript - 是否可以在没有 ng-change 功能的情况下更改 ng-model 值?

标签 javascript angularjs

是否可以在没有 ng-change 功能的情况下更改 ng-model 值? 下面的方法不行

<div ng-app="myApp">
<div ng-controller="MyCtrl">
<input id="checkbox" type="checkbox" ng-model="field">
 <div> {{field}} </div> 
</div></div>    

<script>
var myapp = angular.module('myApp', []);
myapp.controller('MyCtrl', function($scope){

if(document.getElementById("checkbox").checked){
$scope.field="YES";    

    }})

但是使用下面的代码对我来说是有用的

<div ng-app="myApp">
<div ng-controller="MyCtrl">
<input id="checkbox" type="checkbox" ng-model="field" ng-change="change_text()">

<div>{{field}}</div> 

  <script>
    var myapp = angular.module('myApp', []);
    myapp.controller('MyCtrl', function($scope){

    $scope.change_text = function() {  
    $scope.field="YES";        
    }})
  </script>

最佳答案

要完成您想要做的事情,您可以使用 ng-true-valueng-false-value 让您的模型成为除 bool 值,而不破坏与 ng-model 的双向数据绑定(bind)。

例如:

<input id="checkbox" type="checkbox" ng-model="field" ng-true-value="'YES'" ng-false-value="'NO'">
{{field}}

ng-true-valueng-false-value 的值作为字符串文字传递(用额外的引号括起来)。

http://plnkr.co/edit/hjuwOV6q6iZOaXv89M6x?p=preview

关于javascript - 是否可以在没有 ng-change 功能的情况下更改 ng-model 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47193310/

相关文章:

用于视频滚动的 Javascript 代码

javascript - 将 jQuery.ajax post 重写为 fetch

javascript - R Shiny 无法使用外部 HTML 文件加载 css 文件

javascript - 使用 complexQuery 的 Dojo DataGrid 过滤不起作用

javascript - 使用尾递归实现javascript函数

javascript - AngularJs ng-repeat 中所选项目的切换功能

javascript - 未调用 AngularJS NgChange

javascript - ionic 应用程序,点击按钮不起作用

javascript - 如何限制移动网站的滚动但允许访问可能缩回的地址栏

javascript - 工厂方法引用混淆,以及编码指南