angularjs:ng-点击<a>不工作,在<button>上工作

day*_*mer 1 javascript angularjs angularjs-scope

这是Javascript

    function gotoUrl($scope, $location, $http, $window) {
      $scope.setRoute = function (route) {
        $location.path(route);
    };
Run Code Online (Sandbox Code Playgroud)

我的代码是

      <ul class="nav navbar-nav navbar">
            <li><a href="#" data-ng-click="setRoute('summary')"><span
                    class="icon-bar-chart"></span> Summary</a></li>
            <li><a href="#
            " data-ng-click="setRoute('transactions')"><span
                    class="icon-reorder"></span>
                Transactions</a></li>
            <li><a href="#" data-ng-click="setRoute('budgets')"><span
                    class="icon-calendar"></span>
                Budgets</a></li>
        </ul>
Run Code Online (Sandbox Code Playgroud)

路由配置为

app.config(function ($routeProvider) {
    $routeProvider
        .when('/summary', {templateUrl: '../static/partials/summary.html', controller: 'SummaryController'})
        .when('/transactions', { templateUrl: '../static/partials/listTransaction.html', controller: 'TransactionsManagerController'})
        .when('/profile', {templateUrl: '../static/partials/profile.html', controller: 'ProfileController'})
        .when('/new', {templateUrl: '../static/partials/addTransaction.html', controller: 'TransactionAddController'})
        .when('/budgets', {templateUrl: '../static/partials/budgets.html'})
        .otherwise({redirectTo: '/summary'});
});
Run Code Online (Sandbox Code Playgroud)

当我点击时Transactions,它会带我去Summary

当我将代码更改<a><button>,它可以工作时,我在这里做错了什么?

Dam*_*max 5

http://docs.angularjs.org/api/ng.directive:a

修改html A标记的默认行为,以便在href属性为空时阻止默认操作.