2013-12-06 4 views
0

Я борюсь с AngularJS, любая помощь будет оценена. Проблема в том, что у меня есть кнопка в div, которая при нажатии должна добавить класс CSS для всего тела приложения. Является ли это возможным? В Googling вокруг предлагалось добавить класс css к рассматриваемому элементу.добавьте класс css в тело, когда произойдет щелчок

Выработать:

У меня есть главная страница, которая отображает форму. В нем есть список значков, которые при щелчке должны отображать страницу с подробными сведениями об элементе, и она должна переместить мою главную страницу влево, чтобы освободить место для страницы сведений.

<ul data-ng-controller="myctrl"> 
     <li data-ng-click="showMe(0)">Item 1</li> 
     <li data-ng-click="showMe(1)">Item 2</li> 
     <span data-ng-include="template.url"></span> 
    </ul> 

    var myapp = angular.module("MyApp",[]); 
    myapp.controller('myctrl', ['$scope','$element',function($scope,$element){ 
     $scope.templates = [ {name: "item1", url: "item1.html"}, 
          {name: "item2", url: "item2.html"}]; 
     $scope.showMe = function(index) { 
      $scope.template = $scope.templates[index]; 
      $element('body').addClass("shiftToLeft"); //does not seem to have an effect! 
     } 
    }]); 

Спасибо и приветствую!

+0

Почему бы вам просто не использовать обычный jQuery для этого? –

+3

Итак, вы думаете, что мы можем просто угадать ваш точный код? Вам нужно показать нам какой-то код, иначе мы не можем помочь. Я могу привести пример Google, если вы действительно этого хотите ... но я уверен, что вы сами это сделаете. – Ruddy

+0

Простите меня за то, что не очень ясны. Мой разум омрачен :(Обновил вопрос, надеюсь, что он поможет мне преодолеть проблему, которая у меня под рукой. – 5122014009

ответ

0

Угловые обеспечивают директивы для выполнения CSS стиля условно или динамически:

для например:

директивы ngStyle позволяет задать стиль CSS на HTML элементе условно. http://docs.angularjs.org/api/ng.directive:ngStyle

Используйте ng-class, чтобы изменить класс тега BODY на лету http://docs.angularjs.org/api/ng.directive:ngClass

0

У меня была та же проблема, что я сделал это добавление на теле директивы ng-class="currentPageName" и меняю эту переменную с помощью rootsScope : $rootScope.currentPageName = "name_of_the_class".

Поэтому вам нужно изменить его для каждого из ваших контроллеров.

Смежные вопросы