Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以在不使用ng更改功能的情况下更改ng模型值?_Javascript_Angularjs - Fatal编程技术网

Javascript 是否可以在不使用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

是否可以在不使用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 = 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}}