[英]reuse function in angularjs
我有這個簡單的代碼,可以正常工作。
html片段:
<div class="iconbar" ng-controller="icons">
<span ng-click="iconclk()">icon</span>
<div ng-if="icon1">value</div>
</div>
和js:
app.controller('icons', function($scope)
{
$scope.icon1 = false;
$scope.iconclk = function(){
if(!$scope.icon1) $scope.icon1 = true;
else $scope.icon1 = false;
};
});
現在的問題是,我不會在iconclk
icon1
作為參數iconclk
給多個圖標(icon1,icon2,icon3 ...)使用相同的功能:
的HTML:
<div class="iconbar" ng-controller="icons">
<span ng-click="iconclk(icon1)">icon</span>
<div ng-if="icon1">value</div>
</div>
和js:
app.controller('icons', function($scope)
{
$scope.icon1 = false;
$scope.iconclk = function(icon){
if(!icon) icon = true;
else icon = false;
};
});
但是不起作用。 請幫忙嗎? 提前致謝!
主要問題是您icon1
值傳遞,因此修改icon
不會更改icon1
。 相反,我會將您的圖標變量更改為數組,並按索引引用:
<div class="iconbar" ng-controller="icons">
<span ng-click="iconclk(1)">icon</span>
<div ng-if="icon[1]">value</div>
</div>
其他將是iconclk(2)
和icon[2]
, iconclk(3)
和icon[3]
,依此類推...
控制器:
app.controller('icons', function($scope) {
$scope.icon = [false, false, false]; // or just [] if you want it to be simple
$scope.iconclk = function(icon) {
$scope.icon[icon] = !$scope.icon[icon];
};
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.