AngularJS:一次ng点击调用函数两次为什么?



我有以下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

最新更新