使用angular js在click事件中调用routeProvider

时间:2014-06-23 09:37:18

标签: javascript jquery angularjs angularjs-directive

有没有办法使用angular js在click事件中调用我的路由提供者或指令。

点击我需要使用我的指令的按钮,我有一个按钮,所以根据模板URL,页面应该导航。

再次单击相同的按钮,它将进入默认页面。

angular.module('myApp', ['ngRoute']).config(function($routeProvider) {
  return $routeProvider.when('/screen1', {
    templateUrl: 'screen1.html',
    controller: 'aController'
  }).when('/screen2', {
    templateUrl: 'screen2.html',
    controller: 'bController'
  });
});

<body>
    <button id="btntog"></button>
    <div ng-view></div>
  </body>

1 个答案:

答案 0 :(得分:1)

您可以设置$location.path()。 E.g:

<body ng-controller="mainCtrl">
    <button ng-click="goTo(nextPage)">Go to {{nextPage}}</button>
    <div ng-view></div>
</body>

.controller('mainCtrl', function ($location, $scope) {
    $scope.nextPage = 'screen2';
    $scope.goTo = function (page) {
        $location.path('/' + page);
        $scope.nextPage = (page === 'screen2') ? 'screen1' : 'screen2';
    };
});

另请参阅此 short demo