是否可以在没有 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-value
和 ng-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-value
和 ng-false-value
的值作为字符串文字传递(用额外的引号括起来)。
关于javascript - 是否可以在没有 ng-change 功能的情况下更改 ng-model 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47193310/