我希望通过a显示列表的元素,ngSwitch
但我无法弄清楚如何处理ngRepeat
.我已经开始没有列表了,只是为了理解ngSwitch
工作方式并告诉你我想做什么,这里有一个jsFiddle,可以帮助你理解:jdFiffle 1
然后,我尝试使用列表ngRepeat
但是,无论我尝试做什么,它都不起作用.这是第二个jsFiddle,这次使用了一个列表:jsFiddle 2
当他们在里面时似乎ngClick
并且ngSwitch
不起作用ngRepeat
......我怎样才能使事情有效?提前致谢!
这个小提琴演示了一些代码,我懒洋洋地添加了一个部分与它自己的控制器.
一切正常,但由于某种原因我的ng-click
事件不会开火.知道我做错了什么吗?
javascript angularjs angularjs-ng-include angularjs-ng-click
我有一个用ng-repeat构造的表,其中每一行都有一个复选框,该复选框由重复的JSON数据中的值设置:
<tr ng-repeat="t in tabledata" ng-click="t.isChecked=t.!isChecked">
<td><input type="checkbox" ng-model="t.isChecked"></td>
<td>{{t.firstName}} {{t.lastName}}</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我想点击该行来切换该行中的复选框值.我尝试了以上,但它不起作用.思考?
javascript html-table angularjs angularjs-ng-repeat angularjs-ng-click
在我的HTML文件中,我有一个文本框和一个按钮,它们没有任何关联.奇怪的是,当我在文本框中输入文本并按下键盘上的Enter键时,它实际上运行了连接到按钮的 ng-click属性的功能.这只是发生在IE10,但不IE11或任何其他的browers.
知道为什么会这样吗?
HTML
<h3>Group Fields <input id="groupfields" ng-keyup="fr_group_update($event)" ng-model="groupfields"></h3>
<div>
<button ng-click="purge_tasks()">Purge Selection</button> <br/>
</div>
Run Code Online (Sandbox Code Playgroud)
调节器
$scope.fr_group_update = function(event){
if (event.keyCode === 13) {
alert("This should run");
}
};
$scope.purge_tasks = function(event){
alert("This runs instead");
};
Run Code Online (Sandbox Code Playgroud) javascript internet-explorer-10 angularjs angularjs-ng-click
我正在使用AngularJs做一个Web应用程序,我正在使用$ state进入应用程序.登录后,我想转到主页(状态'app.dashboard.home'的绝对状态'app.dashboard).
在这个页面中,有一个按钮可以进入另一个名为expense的视图(状态'app.dashboard.expense'的绝对状态'app.dashboard).但是当我点击按钮时,控制台会显示以下错误:
$ state.go不是函数
为什么?
这是路由:
angular.module('app')
.run(
['$rootScope', '$state', '$stateParams',
function($rootScope, $state, $stateParams) {
$rootScope.$state = $state;
$rootScope.$stateParams = $stateParams;
}
]
)
.config(
['$stateProvider', '$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {
$urlRouterProvider
.otherwise('/app/authenticating/');
$stateProvider
.state('app', {
abstract: true,
url: '/app',
templateUrl: 'common/mainApp.html'
})
.state('app.auth', {
url: '/authenticating/',
templateUrl: 'common/authenticating/authenticating.html',
controller: 'authenticatingCtrl',
resolve: {
deps: ['$ocLazyLoad',
function($ocLazyLoad) {
return $ocLazyLoad.load({
files: [
'common/authenticating/controllers/authenticatingCtrl.js'
]
}).then(function success(args) {
console.log('success');
return args;
}, function error(err) {
console.log(err);
return err; …
Run Code Online (Sandbox Code Playgroud) 我正在重构一个用棱角分明的表格.目前ng-repeat用于创建多个表行,当单击时,其中任何一个行都将重定向到给定的ui-sref:
<tbody>
<tr ng-repeat="user in group | orderBy:sorter:reverse" class="tablebox-content" ui-sref="admin.candidates.detail({_id: user._id})">
<td class="name">{{user.name}}</td>
<td>{{user.attending ? 'Yes' : 'No'}}</td>
<td class="interestDeclared">{{user.interestDeclared}}</td>
<td class="interestThreeOrGreater">{{user.interestThreeOrGreater}}</td>
<td class="github"><a ng-href="{{user.github}}"a>{{user.github}}</a></td>
<td class="email"><a ng-href="mailto:{{user.email}}">{{user.email}}</a></td>
<td class="location">{{user.city}}</td>
<td class="stage">{{user.searchStage === 'Out' ? 'Opted Out' : user.searchStage}}</td>
</tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)
我需要替换第二个td,当前显示"是"或"否"带有复选框,问题是复选框需要在单击时切换,而不是像td的其余部分一样重定向到ui-sref .
我有一个有效的解决方案,即将ui-sref硬编码到除复选框之外的每一个:
<tbody>
<tr ng-repeat="user in group | orderBy:sorter:reverse" class="tablebox-content">
<td ui-sref="admin.candidates.detail({_id: user._id})" class="name">{{user.name}}</td>
<td><input type="checkbox" ng-model="user.attending"></td>
<td ui-sref="admin.candidates.detail({_id: user._id})" class="interestDeclared">{{user.interestDeclared}}</td>
<td ui-sref="admin.candidates.detail({_id: user._id})" class="interestThreeOrGreater">{{user.interestThreeOrGreater}}</td>
<td ui-sref="admin.candidates.detail({_id: user._id})" class="github"><a ng-href="{{user.github}}"a>{{user.github}}</a></td>
<td ui-sref="admin.candidates.detail({_id: user._id})" class="email"><a ng-href="mailto:{{user.email}}">{{user.email}}</a></td>
<td ui-sref="admin.candidates.detail({_id: user._id})" …
Run Code Online (Sandbox Code Playgroud) 所以我已经制作了这个非常简单的脚本来隔离问题.我测试了不同版本的角度和小提琴,如果你选择版本1.1.1它工作正常.您可以根据需要多次点击添加按钮.较新的版本似乎有这种方法的问题.这是一个错误,一个安全措施还是我应该写一个指令?在这个小提琴我加载最新版本,但您可以删除此版本并将其更改为1.1.1,它将工作.此外,1.2.1也有同样的问题.提前感谢任何提示.
HTML
<div ng-app="app">
<div ng-controller="ctrl">
<div ng-repeat="item in naam">
<div>{{item}}</div>
</div>
<button ng-click="add()">add</button>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
JS
var app = angular.module("app", []);
app.controller("ctrl", function ($scope) {
$scope.naam = [
"1",
"2"];
$scope.add = function () {
var x = 3;
var y = 4;
$scope.naam.push(x, y);
}
});
Run Code Online (Sandbox Code Playgroud) 这是HTML:
<tr data-ng-repeat="a in assignments" data-ng-click="vm.handleAssignmentClicked()">
...
</tr>
Run Code Online (Sandbox Code Playgroud)
以下是关联的指令和控制器:
angular
.module('app.assignments')
.directive('stfrAssignments', assignmentsDirective)
.controller('AssignmentsController', AssignmentsController);
function assignmentsDirective() {
var directive = {
restrict: 'E',
templateUrl: 'components/assignments/assignments.html',
scope: {
assignments: '='
},
controller: 'AssignmentsController',
controllerAs: 'vm'
};
return directive;
}
function AssignmentsController() {
var vm = this;
function handleAssignmentClicked() {
console.log('handleAssignmentClicked');
}
}
Run Code Online (Sandbox Code Playgroud)
当我单击一个赋值(表中的一行)时,该handleAssignmentClicked()
函数未被调用.我应该在哪里寻找问题?
我有一个使用ui-router的网站,我有一张桌子,我在单元格上点击了一下,但在单元格内部有一个链接.单击链接时,我需要从单元格中禁用ng-click.
<div ng-click="click()" style="background: #d3d3d3">
<a ui-sref="about">go to about page</a>
</div>
Run Code Online (Sandbox Code Playgroud)
当我单击此链接时,我希望它转到about页面,但不要调用click函数.这是一个plnkr:http://plnkr.co/edit/kE9CZYcYu1OPA9S0K3Jk?p = preview
这与我的实际站点略有不同,但这具有相同的行为(div而不是表).我试过添加,ng-click="$event.preventDefault()"
但也没有解决它.
任何帮助表示赞赏.谢谢!
我有以下代码:
<ul class="dropdown-menu">
<li ng-click="setValue('X')" ng-class="selected === 'X' ? 'active' : 'not-active'"><span>X <i class="fa fa-times" ng-click="unselect()"/></span></li>
<li ng-click="setValue('Y')" ng-class="selected === 'Y' ? 'active' : 'not-active'"><span>Y <i class="fa fa-times" ng-click="unselect()"/></span></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
如果选择了值,我正在切换类.我想在图标上添加一个事件(仅在选中它时才可见),但是,每当我点击图标时,都会触发两次ng-click.我的问题是:当选择行时,如何禁用父元素的ng-click?