私のアプリケーションでサイドバーを表示する指示があります。 このサイドバーの中にいくつかのコンテンツを切り替えるコードを書き込もうとしました。 しかし、トグル機能をトリガーすると何も起こりません。ng-showとの切り替えがディレクティブで動作しない
これは私のディレクティブです:
menuItem.directive("menuItem", function() {
return {
restrict: "E",
template: "<div ng-click='toggle()' ng-transclude></div>",
transclude: true,
scope: {
hash: "@"
},
link: function($scope) {
$scope.toggle = function(e) {
$scope.test = !$scope.test;
console.log($scope.test);
$scope.$apply(); // This here brings up error $rootScope: inprog
}
}
}
});
そして、ここでは私のhtmlです:
<menu visible="leftVisible" alignment="left">
<menu-item hash="first-page">
<div>
Testing
</div>
<ul ng-show="test">
<li>1</li>
<li>2</li>
</ul>
</menu-item>
</menu>
どのように私はULのトグルを作るために、この問題を解決する必要がありますか?
削除してもまだ何もしません。変更はビューに適用されません –
私の回答を更新しました – Random
ありがとう、これは魅力的でした! –