angularjs - 如何/何时使用 ng-click 来调用路线?

标签 angularjs routes angularjs-routing angularjs-ng-click angularjs-ng-route

假设您正在使用路线:

// 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 代替 anchor 吗?
  2. 如果是这样,那会如何运作?即:

<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/

相关文章:

angularjs - AngularJS routeProvider 路由到错误的模板

javascript - 在 angularjs $resource 请求期间阻止/取消阻止表单

architecture - Backbone.js 架构 : routes or application state?

javascript - 如何从服务器返回 html 模态目标 View ?

ruby-on-rails - 如何在 angularjs 中使用原生 anchor 链接

javascript - 通过电子邮件而不是 ID 搜索

jquery - AngularJS - 仅使用 jqLit​​e 模拟 .prev() ?

c# - Selenium sendKeys 不输入所有文本

javascript - AngularJS - 访问子指令 Controller

ruby - Rails 3 - 限制资源路由中的操作格式