代码之家  ›  专栏  ›  技术社区  ›  AbhiRam

$location不改变AngularJS中的路径

  •  0
  • AbhiRam  · 技术社区  · 6 年前

    我是AngularJS的新手,我在将一个页面移动到另一个页面时遇到了问题,我必须将参数从主页传递到详细信息页面,我遵循了下面的代码,但它不起作用,我得到了错误 ReferenceError: $location is not defined at a.$scope.moveToOthers (showOrders.js:4)

    有人能帮我吗

    应用程序js:

    var sampleApp = angular.module('sampleApp', ["ngRoute"]);
    sampleApp.config(['$routeProvider',
        function ($routeProvider) {
            $routeProvider.
    
                when('/AddNewOrder', {
                    templateUrl: 'templates/add_orders.html',
                    controller: 'AddOrderController'
                }).
    
                when('/ShowOrders', {
                    templateUrl: 'templates/show_orders.html',
                    controller: 'ShowOrdersController'
                }).
    
                when('/ExpandOrders', {
                    templateUrl: 'templates/expand_orders.html',
                    controller: 'ExpandOrderController'
                }).
    
                when('/OthersPage:id?', {
                    templateUrl: 'templates/others_page.html',
                    controller: 'OthersPageController'
                }).
    
                otherwise({
                    redirectTo: '/AddNewOrder'
                });
    
        }]);
    

    显示订单.html

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="ISO-8859-1">
    <title>Insert title here</title>
    <script src="controllers/othersPage.js"></script>
    <title>AngularJS Routing example</title>
    </head>
    <body>
    <h1>Show orders</h1>
    <button ng-click="moveToOthers()" type="button" class="btn btn-default" style="margin:10px 0px 10px 0px;">Others Page</button>
    </body>
    </html>
    

    showOrders.js:显示顺序:

    sampleApp.controller('ShowOrdersController', function ($scope, $location) {
        $scope.msg = 'This is Show orders screen123';
        $scope.moveToOthers = function () {
            $location.path('/others_page/100')
        }
    });
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Leonardo Minati    6 年前

    我建议:

    1. 更正路由器:更改 '/OthersPage:id?' '/OthersPage/:id'
    2. <button> 元素不使用函数来更改路径。改为使用 ng-href 这样地: <a ng-href="/OthersPage/100" type="button" class="btn btn-default" style="margin:10px 0px 10px 0px;">Others Page</a>