我花了一整天的时间试图解决这个简单的问题,但没有成功。我将ng-click添加到标记中,但它没有调用该函数。如果我把ng-click放在一个按钮上,它就能工作。
我已经尝试了以下方法,但没有成功。
<li><a href="#" ng-click="signout()">Sign Out</a></li>
<li><a href="" ng-click="signout()">Sign Out</a></li>
<li><a href ng-click="signout()">Sign Out</a></li>
<li><a ng-click="signout()">Sign Out</a></li>
<li ng-click="signout()"><a href="#">Sign Out</a></li>我注意到,当我单击它时,它会添加ng- click -active类
像这样
<a href="#" ng-click="signout()" class="ng-click-active">Sign Out</a>或者像这样
<li ng-click="signout()" class="ng-click-active"><a href="#">Sign Out</a></li>我还注意到,如果我在chrome dev工具控制台中执行此操作,那么在标记上单击ng将会起作用
$(document).foundation();我没主意了!
更新:我正在为signout函数添加js
angular.module('myapp')
.controller('NavbarCtrl', function ($scope, $state, principal) {
$scope.signout = function() {
console.log('*******************');
principal.authenticate(null);
$state.go('login');
};
});发布于 2015-04-29 12:43:05
确保在HTML中包含了ng-app和ng-controller指令,如下所示:
<!-- Reference ng-app -->
<html ng-app="myApp">
<head>
<script data-require="angular.js@1.3.15" data-semver="1.3.15" src="https://code.angularjs.org/1.3.15/angular.js"></script>
</head>
<!-- Reference ng-controller -->
<body ng-controller="mainCtrl">
<h1>ng-click</h1>
<a href="#" ng-click="signout()">Sign Out</a>
</body>
</html>然后确保在控制器上添加对$signout函数的引用。
var app = angular.module('myApp', []);
app.controller('mainCtrl', function($scope){
$scope.signout = function(){
alert("You clicked Sign Out");
}
}); 这里有一个指向插入器的链接,它展示了如何在标记上实现ng-click。
http://plnkr.co/edit/NrF6ay06mG7lJ5OvRP3F?p=preview
发布于 2017-02-02 13:32:19
如果不需要url,请使用"button“或"div”标记而不是"a“标记。
<li><button ng-click="signout()">Sign Out</button></li>
<li><div ng-click="signout()">Sign Out</div></li>https://stackoverflow.com/questions/29934153
复制相似问题