假设您正在使用路线:
// bootstrap
myApp.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
$routeProvider.when('/home', {
templateUrl: 'partials/home.html',
controller: 'HomeCtrl'
});
$routeProvider.when('/about', {
templateUrl: 'partials/about.html',
controller: 'AboutCtrl'
});
...
在您的 html 中,您希望在单击按钮时导航到“关于”页面。一种方法是
<a href="#/about">
...但似乎 ng-click 在这里也很有用。
- 这个假设正确吗?可以使用 ng-click 代替 anchor 吗?
- 如果是这样,那会如何运作?即:
<div ng-click="/about">
最佳答案
路由监视 $location
服务并响应 URL 的更改(通常通过哈希)。要“激活”路由,您只需更改 URL 即可。最简单的方法是使用 anchor 标记。
<a href="#/home">Go Home</a>
<a href="#/about">Go to About</a>
不需要更复杂的事情。但是,如果您必须通过代码执行此操作,正确的方法是使用 $location
服务:
$scope.go = function ( path ) {
$location.path( path );
};
例如,一个按钮可以触发:
<button ng-click="go('/home')"></button>
关于angularjs - 如何/何时使用 ng-click 来调用路线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14201753/