一尘不染

如何/何时使用ng-click呼叫路线?

angularjs

假设您正在使用路线:

// 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在这里似乎也很有用。

  1. 这个假设正确吗?使用ng-click代替锚点?
  2. 如果是这样,那将如何工作?IE浏览器:

<div ng-click="/about">


阅读 189

收藏
2020-07-04

共1个答案

一尘不染

路由监视$location服务并响应URL的更改(通常通过哈希值)。要“激活”一条路线,只需更改URL。最简单的方法是使用锚标记。

<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>
2020-07-04