当我在页面post
上时,我正尝试将课程#wrap
添加到我的div [{1}}。这就是我所拥有的:
$ routeProvider
/post
控制器
when('/post', {
templateUrl : 'views/post.php',
controller : 'postCtrl'
})
HTML
carolvaladares.controller('postCtrl', function($scope) {
$scope.post = true;
});
在<div id="wrap" ng-class="{true: 'post'}[post]">
时,/post
为$scope.post
。如果true
为$scope.post
,请将课程true
添加到post
问题是,当我转到#wrap
时,除非我手动使用/post
,否则它不会读取$scope.post
。
提前致谢。
- 已编辑 -
ng-controller="postCtrl"
在$scope.post
上使用true
时,{{post}}
会返回/post
。我仍然无法使用ng-class
。
- 已编辑 -
问题仍然存在,因为#wrap
已超出我的ng-view
。所以我想我想要做的事情,我试图做的事情是不可能的。
答案 0 :(得分:1)
我认为问题出在你的HTML上:
{{1}}
应该有用。
答案 1 :(得分:0)
尝试
syntax error, unexpected ',', expecting kEND
另外不要忘记添加ng-controller
答案 2 :(得分:0)
ng-class的工作原理如下:
ng-class="{'classNameToApply': angularExpression}"
&#39; classNameToApply&#39;将在angularExpression
评估为真实的事情时应用。
因此,在您的情况下,要应用&#39; post&#39;的课程,您会这样做
<div id="wrap" ng-class="{'post': post}">
答案 3 :(得分:0)
<div id="wrap" ng-class="{true: 'post'}[post]">
您为ng-class
提供的声明应该有效,您是否可以将post
变量更改为其他内容,以检查其是否正常工作:
<div id="wrap" ng-class="{true: 'post'}[someValue]">
除此之外,您还可以尝试以下其他解决方案:
Sol1:
<div id="wrap" ng-class="{'post': post}">
<强> SOL2 强>
<div id="wrap" ng-class="post ? 'post' : 'somethingelse' }">
答案 4 :(得分:0)
我建议你尝试这样的事情:
when('/post', {
templateUrl : 'views/post.php',
controller : 'postCtrl',
activetab: 'post'
})
并添加:
<div id="wrap" ng-class="{post: $route.current.activetab == 'post'}"">