我有以下 angularjs 代码。当我单击 li 标记时,该函数被调用两次。这意味着点击两个请求通过,我得到两个响应为什么?即使我将 ng-click 更改为仅功能仅调用一次的单选按钮,为什么?
<li ng-click="togglePrice(2);">
<input type="radio" name="personalGroup" ng-model="watchlist" value="watchlist" id="watchlist">
<label for="watchlist" >My Watchlist</label>
</li>
脚本
$scope.togglePrice = function (price) {
console.log(price+"newwww");
.................
}
最佳答案
你会因为 <input type="radio">
而出现这种行为在你的里面<li>
你可以写<li ng-click="togglePrice(2);$event.preventDefault()">
摆脱第二次点击。但是,您的单选按钮状态不会改变。
也许你想要这样的东西:
Controller
$scope.watchlist = 'City1';
$scope.list = ["City1", "City2","City3"];
HTML
<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>
关于javascript - Angular : one ng-click call the function twice why?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45772971/