簡體   English   中英

angularjs:ng單擊<a>不起作用,在</a>

[英]angularjs: ng-click on <a> not working, works on <button>

這是Javascript

    function gotoUrl($scope, $location, $http, $window) {
      $scope.setRoute = function (route) {
        $location.path(route);
    };

我的代碼是

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

路由配置為

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'});
});

當我單擊“ Transactions ,它將帶我到“ Summary

當我將代碼從<a>更改為<button> ,它起作用了,我在這里做錯了什么?

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

修改html A標記的默認行為,以便在href屬性為空時阻止默認操作。

嘗試設置href=""而不是href="#" 如果您使用的是hashbang模式路由,則后者會導致整頁重新加載,您的情況似乎也是如此。 您單擊的任何帶有href="#"鏈接都將導致您的應用程序完全重新加載頁面並加載默認路由-在您的情況下為Summary

您可以擺脫gotoUrl函數並將DOM修改為

<a href="#/transactions"><span></span>Transactions</a>

AngularJS將負責其余的工作。

更改此代碼段

<li><a href="#
        " data-ng-click="setRoute('transactions')"><span
                class="icon-reorder"></span>
            Transactions</a></li>

<li><a href="/transactions"><span
                class="icon-reorder"></span>
            Transactions</a></li>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM