Javascript AngularJS:one ng click调用函数两次为什么?
我有以下angularjs代码。当我单击li标记时,该函数将被调用两次。这意味着点击两次请求通过,我得到两次响应为什么?即使我将ng click更改为只调用一次函数的单选按钮,为什么Javascript AngularJS:one ng click调用函数两次为什么?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我有以下angularjs代码。当我单击li标记时,该函数将被调用两次。这意味着点击两次请求通过,我得到两次响应为什么?即使我将ng click更改为只调用一次函数的单选按钮,为什么 <li ng-click="togglePrice(2);"> <input type="radio" name="personalGroup" ng-model="watchlist" value="watchlist" id="watchlist"> <label for
<li ng-click="togglePrice(2);">
<input type="radio" name="personalGroup" ng-model="watchlist" value="watchlist" id="watchlist">
<label for="watchlist" >My Watchlist</label>
</li>
您之所以会出现这种行为,是因为您的
您可以编写
来摆脱第二次单击。但是,您的单选按钮状态不会更改
也许你想要的是:
控制器
HTML
{{watchlist}}
你不应该将交互事件附加到非交互元素上,这是一种不好的做法。请你详细说明或用例子解释一下,bez我是AngularJS的新手,与AngularJS无关,它的HTML实践。像
、
、
等非交互元素不应附加事件(例如,单击)。这些只能在交互式元素中使用,如
,
等。元素上的单击事件会在
元素上创建一个单击事件。
上的ng click
指令接收两个单击事件。使用event.target.tagName
区分这两个事件。Bro单击时,我想检查单选按钮。。所以只有我喜欢这个。任何其他方法都可以解决这个问题。即使我使用了“a”标记,我也无法检查单选按钮。@Rijo如果你想检查单选按钮,并捕捉它的状态,你不需要点击ng
指令
$scope.togglePrice = function (price) {
console.log(price+"newwww");
.................
}
$scope.watchlist = 'City1';
$scope.list = ["City1", "City2","City3"];
<li ng-repeat="watchlist in list">
<label>
<input type="radio" name="personalGroup"
ng-model="$parent.watchlist"
ng-value="watchlist"
ng-change="togglePrice(watchlist)" />{{watchlist}}
</label>
</li>