私はいくつかのアイコンを持つメニューを持っています。そのアイコンの1つをクリックするとアイコンが変わり、同じアイコンで再びクリックすると元の状態に戻りますが、別のアイコンをクリックすると、最初のアイコンは元の状態に戻りますが、そうではありません。変更されていない理由はわかりません。app.directiveでアイコンを変更AngularJS
HTMLはこれです:
<div id="navbar" class="navbar-collapse collapse" ng-controller="customerInformationController">
<ul class="nav navbar-nav navbar-left">
<li>
<menuico linkTo="main" imageDefault="ico_menu_off.png" />
</li>
<li>
<menuico linkTo="customerSearch" imageDefault="ico_search_off.png" />
</li>
<li>
<menuico linkTo="#" imageDefault="ico_user_off.png" />
</li>
</ul>
<img src="img/logo_santander.png" class="logo" />
<ul class="nav navbar-nav navbar-right">
<li class="navbar-manager">{{nombreGestor}}</li>
<li><a ng-click="closeTabs();" class="close-session"><img src="img/ico_closesession.png" /></a></li>
</ul>
</div>
私はこのような変更のアイコンを作るためにAngularJSディレクティブを使用しています。角度のコードは次のとおりです。
app.directive('menuico', function() {
return {
restrict: 'E',
replace:true,
scope: {},
template: '<a href="#{{route}}"><img src="img/{{image}}" /></a>',
link: function(scope, elem, attrs) {
var active = false;
var defaultRoute = "";
var activeIcon = "ico_close.png";
scope.image = attrs.imagedefault;
scope.route = attrs.linkto;
elem.bind("click", function() {
active = !active;
if(active) {
scope.route = defaultRoute;
scope.image = activeIcon;
} else {
scope.route = attrs.linkto;
scope.image = attrs.imagedefault;
}
});
}
};
});
私は必要なもの、例えば、私は、「ico_search_off.png」の「ico_close.png」にこの変更をクリックした場合、私はico_user_off」に今すぐクリックした場合のことです。 「ico_close.png」に変更され、最初のものは元の状態、つまり「ico_search_off.png」に変更する必要がありますが、最初のものは変更されずに現在の状態にとどまります
私は角度サービスを使用してこのような例が1つわかりますか?感謝 – derek
Angular UI githubコードページを見てみてください。彼らはこのようなことをたくさんしています。 – jonhobbs
ところで、Derekはあなたが参加して以来、このサイトで7つの質問をしてきましたが、いずれにもアップヴォートまたは正解を1つも与えていません。少し上向きの矢印をクリックしたり、返事をしたりすることができなければ、人々はあなたを助けるつもりはありません。 – jonhobbs