手动更改 url 时,data-ng-class 条件不起作用
data-ng-class conditions is not working when changing url manually
我在 data-ng-class 的 div 上做了一个条件语句,我想以某种方式将这个范围添加到控制器并指定 url 何时是 /vegetarian应用 class 'egg' 并且我手动更改 url 我想应用 class 'bacon',但它不起作用,我在哪里出错了?
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;
}
}
});
这是行不通的。当我键入 /vegetarian 时,class egg 被应用,但是当我将 url 更改为 /breakfast 之类的其他内容时,class 'egg' 仍然存在。我怎样才能使这项工作?
谢谢
为什么属性和函数同名?毕竟你将只有功能
$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>
您将 ng-class 指令绑定到 属性 isVeggie 而不是函数 isVeggie()。
将您的 html 更改为:
<div data-ng-class="{'egg': isVeggie(), 'bacon': !isVeggie() }">
Text here
</div>
然后您可以在控制器中删除以下行:
$scope.isVeggie = false;
我在 data-ng-class 的 div 上做了一个条件语句,我想以某种方式将这个范围添加到控制器并指定 url 何时是 /vegetarian应用 class 'egg' 并且我手动更改 url 我想应用 class 'bacon',但它不起作用,我在哪里出错了?
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;
}
}
});
这是行不通的。当我键入 /vegetarian 时,class egg 被应用,但是当我将 url 更改为 /breakfast 之类的其他内容时,class 'egg' 仍然存在。我怎样才能使这项工作? 谢谢
为什么属性和函数同名?毕竟你将只有功能
$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>
您将 ng-class 指令绑定到 属性 isVeggie 而不是函数 isVeggie()。
将您的 html 更改为:
<div data-ng-class="{'egg': isVeggie(), 'bacon': !isVeggie() }">
Text here
</div>
然后您可以在控制器中删除以下行:
$scope.isVeggie = false;