我有以下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");
.................
}
你之所以有这种行为,是因为你的<li>
<input type="radio">
您可以编写<li ng-click="togglePrice(2);$event.preventDefault()">
以摆脱第二次点击。但是,您的单选按钮状态不会更改。
演示普伦克尔 1
也许你想要这样的东西:
控制器
$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>
演示普伦克尔 2