为什么ngModel第一次没有更新这个值?

时间:2014-04-23 16:48:40

标签: angularjs angularjs-scope angular-ngmodel

为什么ng-Model值未显示更新值

请检查下面的代码

JS

$scope.test='xx';
$scope.testfunc=function (a) {   
  alert(a);
 }

HTML

<input type="radio" ng-model="test" ng-click="testfunc(test)" value="aaa"/>

当我点击收音机时,我应该收到警告信息“aaa”,但我收到消息“xx”。

谁能告诉我哪里出错了

2 个答案:

答案 0 :(得分:2)

模型改变了收音机的价值。

原来,收音机具有价值&#34; aaa&#34;,然后在角度&#34;靴子&#34;之后,如果使用浏览器开发者工具检查元素,则rasio的值将更改为xx (chrome,firefox或IE10及以上版本),您应该看到它。

在角色完成链接(启动)之后你的收音机是这样的

<input type="radio" ng-model="test" ng-click="testfunc(test)" value="xx"/>

答案 1 :(得分:0)

你的问题是你绑定了scope.text =&#39; xx&#39 ;;这与value =&#39; aaa&#39;

无关

ng-model = test引用了$ scope.test。

如果你想要它是&#39; aaa&#39;你需要将它绑定到scope.test,你将其作为参数传递给html中的函数。

解决方案是将其作为参数传递:

<input type="radio" ng-model="test" ng-click="testfunc('xx')" value="xx"/>

或使用jQuery:

$scope.test = $('input:radio').val();

Vanilla JS

$scope.test = document.querySelectorAll('input:radio');