Javascript 是否可以在不使用ng更改功能的情况下更改ng模型值?
是否可以在不使用ng更改功能的情况下更改ng模型值?? 以下方法无效Javascript 是否可以在不使用ng更改功能的情况下更改ng模型值?,javascript,angularjs,Javascript,Angularjs,是否可以在不使用ng更改功能的情况下更改ng模型值?? 以下方法无效 <div ng-app="myApp"> <div ng-controller="MyCtrl"> <input id="checkbox" type="checkbox" ng-model="field"> <div> {{field}} </div> </div></div> <script> var myapp
<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";
}})
{{field}}
var myapp=angular.module('myapp',[]);
myapp.controller('MyCtrl',函数($scope){
if(document.getElementById(“复选框”).checked){
$scope.field=“是”;
}})
但是使用下面的代码对我来说是可行的
<div ng-app="myApp">
<div ng-controller="MyCtrl">
<input id="checkbox" type="checkbox" ng-model="field" ng-change="change_text()">
<div>{{field}}</div>
{{field}}
var myapp=angular.module('myapp',[]);
myapp.controller('MyCtrl',函数($scope){
$scope.change_text=function(){
$scope.field=“是”;
}})
要完成您试图完成的任务,您可以使用ng true value
和ng false value
使您的模型成为除布尔值以外的类型,而无需中断与ng model
的双向数据绑定
例如:
<input id="checkbox" type="checkbox" ng-model="field" ng-true-value="'YES'" ng-false-value="'NO'">
{{field}}
{{field}}
将ng真值
和ng假值
的值作为字符串文本传递(用额外的引号括起来)
什么是
选择
?它的定义是什么?当页面加载时,控制器只执行一次,因此它不会像第一个代码尝试的那样响应用户交互。此外,第二个示例的工作方式也不太清楚,因为它只添加了change\u text
函数,如果choice==true
,但是什么是choice
还是不太清楚。如果你真的在使用ng change
的地方显示你的HTML,这可能会有帮助,因为你的问题问到了它,但你没有真正显示那部分内容或它的用途。Thx Claies,我上传我的代码,我希望你的问题很清楚,你想做的事情将会失败<复选框上的code>ng model期望模型(在本例中,字段
)为true
或false
。您的ng change
正在将字段的类型从布尔true
/false
更改为字符串类型,这将使ng model
无效。如果要将字段
设置为字符串,则不能使用ng model
。
<input id="checkbox" type="checkbox" ng-model="field" ng-true-value="'YES'" ng-false-value="'NO'">
{{field}}