我的指令有问题,帮我解决这个问题。 这是我的指令,它改变了css样式,但每当我转到另一个页面时所有这些重新加载,我都不想要这个。
directive('layoutSettings', function ($http) {
return {
restrict: 'A',
link: function (scope, element, $rootScope) {
$rootScope.selectedLayout = {};
$http.get('http://localhost/obp_shop/api/LayoutSettings/GetValue').success(function(data) {
$rootScope.selectedLayout = data;
console.log($rootScope.selectedLayout);
$(element).css({ 'background-color': $rootScope.selectedLayout[0].value });
$(element).css({ 'background-image': 'url(data:image/jpeg;base64,' + $rootScope.selectedLayout[1].value + ')' });
$('.btn-primary').css({ 'background-color': $rootScope.selectedLayout[2].value });
$('.btn-default').css({ 'background-color': $rootScope.selectedLayout[2].value });
$('btn-primary').css({ 'color': $rootScope.selectedLayout[3].value });
$('.btn').css({ 'font-size': $rootScope.selectedLayout[4].value });
$('h1,h2,h3,h4,h5,h6').css({ 'color': $rootScope.selectedLayout[5].value });
$('h1,h2,h3,h4,h5,h6').css({ 'font-size': $rootScope.selectedLayout[6].value });
$(element).css({ 'color': $rootScope.selectedLayout[7].value });
$(element).css({ 'font-size': $rootScope.selectedLayout[8].value });
});
}
};
});
这个指令在索引页面的主体上,我得到其他页面,因为我使用的是ui路由器。
<body class="container" ng-app="routerApp" style="padding-top: 50px;" layout-settings>
<div ui-view cg-busy="{promise:promise}"></div>
</body>
我如何才能使用此指令一次? 感谢。
答案 0 :(得分:0)
通过将指令放在带有ui-view的div中来解决我的问题。