点击ng后可以触发一个ng类
Can one trigger ng-class after ng-click?
我有以下元素:
<a href="" ng-click="project.hasPhotos? removeFromProject(project, $index, currentPhoto) : addToProject($index, currentPhoto)" ng-class="{'selected-project': (belongsPhotoToProject(project, $index, currentPhoto) || project.hasPhotos)}">{{ project.label }}</a>
ng-class
的想法是:如果照片属于项目,函数belongsPhotoToProject
返回true
,因此设置了selected-project
类。现在,点击,在函数removeFromProject(project, $index, currentPhoto)
被触发后,belongsPhotoToProject
不再计算为true
,所以我希望它删除该类,然而,这并没有发生。
所以我的问题是:在初始页面加载之后,ng-click
在哪些页面上被触发?如果ng-click
只在页面加载时触发,我可以在ng-click
上手动再次触发它吗?
这应该像你描述的那样工作
http://plnkr.co/edit/V4R0EUwKK5TeH5wn7Y5N?p=preview
你的浏览器中有错误吗?
javascript:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.project = {
hasPhotos: true,
label: "My Test Project"
};
$scope.removeFromProject = function(project, $index, currentPhoto) {
$scope.project.hasPhotos = false;
};
$scope.addToProject = function($index, currentPhoto) {
$scope.project.hasPhotos = true;
};
$scope.belongsPhotoToProject = function(project, $index, currentPhoto) {
return $scope.project.hasPhotos;
};
});
html:
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>document.write('<base href="' + document.location + '" />');</script>
<link rel="stylesheet" href="style.css" />
<script data-require="angular.js@1.2.x" src="https://code.angularjs.org/1.2.28/angular.js" data-semver="1.2.28"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<p>Hello {{name}}!</p>
<a href="" ng-click="project.hasPhotos? removeFromProject(project, $index, currentPhoto) : addToProject($index, currentPhoto)" ng-class="{'selected-project': (belongsPhotoToProject(project, $index, currentPhoto) || project.hasPhotos)}">{{ project.label }}</a>
</body>
</html>
css:
.selected-project {
background-color: #ccf;
}
相关文章:
- 如何在所有ng点击事件AngularJS上启动一个方法
- Angular ng repeat order将多个字段作为一个字段
- AngularJS ng选项在选择一个选项后删除了默认的空白值
- 有没有添加一个ng点击到md背景
- 在AngularJS中的另一个ng应用程序中使用来自一个ng程序的Cookie值
- 当我的所有 Ng-from 都有效时启用一个按钮
- 如果语句为true,则对一个或多个ng进行角度检查
- 如何在使用Protractor测试时找到ng中继器的最后一个元素
- 点击ng后可以触发一个ng类
- ng重复向一个元素添加条件类
- 检查资源的id是否在ng重复中显示的另一个资源的id列表中
- 当在一个表单中进行更改时,ng-disabled 会触发所有表单验证
- 在 Angular 指令中定义一个用于 ng-click 的函数
- (angularJS)使ng-click在ng-repeat上打开一个链接
- ng-repeat始终呈现为指令模板中的最后一个
- 另一个 ng-click() 未按预期工作
- 在订购后获取最后一个ng重复项'd
- Angular ng sortable-如果我在一个栏中添加了一个搜索框,则拖放在两列之间无法正常工作
- 如何从另一个控制器更新控制器的ng重复模型
- AngularJS,如何将多个输入组合到一个ng模型中?具体来说,将日期、时间和时区输入组合到日期时间对象中