我已經構建了一個指令,將$ rootScope.showContent值更改爲true或false。切換元素可見性的角度指令
然後,我使用ng-show =「showContent」來隱藏或顯示元素。
這種方法工作正常,但我想避免使用$ rootScope,也使用scope.apply()函數。 你能否建議我一個更好的方法來做到這一點?
下面你會發現一些代碼:
HTML
<body ng-app="myApp">
<div ng-controller="AppCtr">
<hide-amounts ></hide-amounts>
<div ng-show="showContent">
<h1>Hello from h1</h1>
<p>Hello from paragarapsh</p>
</div>
<div ng-show="showContent">
<h1>Hello from h1</h1>
<p>Hello from paragarapsh</p>
</div>
</div>
</body>
角
var myApp = angular.module('myApp', []);
myApp.run(function ($rootScope) {
$rootScope.showContent = true;
})
myApp.controller("AppCtr", function ($scope) {
})
.directive('hideAmounts',["$rootScope", function ($rootScope) {
return {
restrict: "E",
replace: true,
template: '<a href="#">Hide Content</a>',
link: function (scope, element, attrs) {
element.click(function() {
scope.$apply(function() {
$rootScope.showContent = !$rootScope.showContent;
})
return false;
})
}
};
}]);
的jsfiddle鏈接:http://jsfiddle.net/RickyStam/AkVzz/(沒有的jsfiddle工作不知道爲什麼: P)
感謝您的幫助!非常感激 :) –