簡體   English   中英

帶有/?#/的奇怪路由行為angularJS

[英]Strange route behaviour angularJS with /?#/

我實際上在AngularJS中遇到路由問題。 實際上,當我第一次啟動一個頁面時,當前的URL是“ http://www.test.com/#/roadmaps/edit ”。

當我單擊頁面上的任何按鈕時,頁面都會刷新並為我提供一個新的URL,例如:“ http://www.test.com/?#/roadmaps/edit ”和“?” 之前 ”#”。

因此,每次我在頁面中填寫不同的輸入並單擊一個按鈕時,第一次刷新(有問題...)並顯示“?” 符號出現在URL中。

你有想法嗎 ?

這是我實際的路由功能:

function config($routeProvider) {
    $routeProvider.
        when('/roadmaps/edit', {
            templateUrl: 'partials/roadmap_edit.html',
            controller: 'RoadMapEditCtrl'
        }).
        when('/roadmaps/edit/:id', {
            templateUrl: 'partials/roadmap_edit.html',
            controller: 'RoadMapEditCtrl'
        })
}

第一行用於添加路線圖,第二行用於修改。

你能幫助我嗎 ?

謝謝前進

編輯:

這是導致此問題的按鈕之一:

<li>
 <button style="margin-top:10px;" ng-click="selectAll()">Tout {{selectionner}}
</button>
</li>

而selectAll()函數:

var isSelectedJour = false;
    $scope.selectAll = function () {
        if (isSelectedJour) {
            $scope.selectionner = "cocher";
        } else {
            $scope.selectionner = "décocher";
        }

        isSelectedJour = !isSelectedJour;

        $scope.mo = isSelectedJour;
        $scope.tu = isSelectedJour;
        $scope.we = isSelectedJour;
        $scope.th = isSelectedJour;
        $scope.fr = isSelectedJour;
        $scope.sa = isSelectedJour;
        $scope.su = isSelectedJour;
    };

嗨,您可以使用

function config($routeProvider,$locationProvider) {
    $routeProvider.
        when('/roadmaps/edit', {
            templateUrl: 'partials/roadmap_edit.html',
            controller: 'RoadMapEditCtrl'
        }).
        when('/roadmaps/edit/:id', {
            templateUrl: 'partials/roadmap_edit.html',
            controller: 'RoadMapEditCtrl'
        });

        $locationProvider.html5Mode(true);
}

到這里參加聚會很晚,但這是原因和兩個解決方案: 帶React Router的ReactJS-Chrome上的奇怪路由行為 原因是任何按鈕單擊都被視為提交,並且表單沒有提交操作目標。 一種解決方案是添加preventDefault事件處理程序。 正如我在評論中指出的那樣,要解決此問題, <button><button>更改為<span>

暫無
暫無

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

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