我在data-ng-class上对div做了一个条件语句,我想以某种方式将这个范围添加到控制器中,并指定何时url是/ vegetarian来应用class' egg'我手动更改网址我想要课程'培根'应用,但它不工作,我出错了?
HTML:
<div data-ng-class="{'egg': isVeggie, 'bacon': !isVeggie }">
Text here
</div>
控制器:
app.controller('foodCtrl', function ($scope, $location) {
$scope.location = $location;
$scope.isVeggie = false;
$scope.isVeggie = function() {
if(isVeggie === $location.path('/vegetarian')) {
return true;
}
}
});
这不起作用。当我打字/素食时,正在使用类蛋,但是当我将网址更改为/早餐之类的其他内容时,课堂上的蛋#遗迹。我怎样才能做到这一点? 感谢
答案 0 :(得分:1)
为什么属性和函数具有相同的名称?毕竟你只有函数
$scope.isVeggie = false;
$scope.isVeggie = function() {
if(isVeggie === $location.path('/vegetarian')) {
return true;
}
}
将您的代码更改为仅具有该功能。
<强>仅强>
$scope.isVeggie = function() {
if(isVeggie === $location.path('/vegetarian')) {
return true;
}
}
和标记
<div data-ng-class="{'egg': isVeggie(), 'bacon': !isVeggie() }">
Text here
</div>
答案 1 :(得分:0)
您将ng-class指令绑定到属性isVeggie而不是函数isVeggie()。
将您的HTML更改为:
public void addHiredRoomToLayout(Room room) {
textView = new TextView(this);
textView.setText(room.getParameters());
linearLayout.addView(textView);
}
然后,您可以删除控制器中的以下行:
<div data-ng-class="{'egg': isVeggie(), 'bacon': !isVeggie() }">
Text here
</div>