在AngularJS中使用partials时设置body类

时间:2013-11-15 12:50:50

标签: javascript angularjs

另一个AngularJS新手问题。

我有一个index.html,控制器和部分。

我的<body>标记位于index.html中......我想在控制器中为正文设置类。

所以我尝试在$scope.body_class中粘贴一个值,然后在我的index.html中引用该变量,如下所示:

<!doctype html>
<html lang="en" ng-app="myGreatApp">
...
<body ng-class="{body_class}"> {{body_class}} Hi!

但是body_class没有返回值。

如何让body_class返回值?

2 个答案:

答案 0 :(得分:2)

对于初学者来说,必须在元素或任何父元素上定义控制器,以便它能够与指令交互(或者你必须注入$ rootScope并使用它)和ng-class指令接受哈希,所以

<body ng-controller="YourController" ng-class="{body_class: <expression>}"> {{body_class}} Hi!

如果<expression>非常有用,它将获得与哈希中的键对应的html class

<body ng-controller="YourController" ng-class="{body_class: true}" class="body_class"> whatever value $scope.body_class has Hi!

如果您不需要在标记中声明类名,则ng-class指令也接受直接绑定,因此您可以改为:

<body ng-controller="YourController" ng-class="body_class"> {{body_class}} Hi!

ng-class documentation

答案 1 :(得分:1)

试试这个:

控制器

function SampleCtrl($scope){
$scope.MyClass = 'Hello'
}

HTML

<body data-ng-app="" data-ng-controller='SampleCtrl'>
<div data-ng-class="MyClass">Hello World
</div>
</body>

Sample JsFiddle