簡體   English   中英

angularjs路由更改控制器

[英]angularjs route change controller

我想使用Angular-route來更改頁面中使用的控制器
這是我的角度代碼的一部分

var cat_list = angular.module('getCat', ['ngRoute']);

cat_list.config(function($routeProvider, $locationProvider) {
    $routeProvider
    .when('category/upcoming', {
       controller: 'getUpcoming'
    })
    .when('category/popular', {
        controller: 'getPopular'
    });

    $locationProvider.html5Mode(true);
});

cat_list.controller('getUpcoming', ['$scope', function($scope, $routeParams) {
//controller code goes here
});
cat_list.controller('getPopular', ['$scope', function($scope, $routeParams) {
//controller code goes here
});

這是我的HTML的一部分

<div class="row" ng-app="getCat">
    <div class="col-md-12">
        <!-- something happen in here -->           
    </div>
</div>

但是當我嘗試訪問http://localhost/project/category/upcominghttp://localhost/project/category/popular ,路由不起作用(未選擇或選擇控制器)

我錯過了什么?

嘗試這個

var cat_list = angular.module('getCat', ['ngRoute']);

cat_list.config(['$routeProvider', '$locationProvider', 

等等等

您能否同時解釋一下為什么要在同一頁面上使用不同的控制器? 您為什么不使用兩個不同的部分來為即將到來的流行頁面創建兩個單獨的頁面?

或者,另一種方法是只使用相同的控制器,並使用適當的指令過濾結果,而不更改每次加載的內容。

必須提及ng-view,以便該指令是占位符,用於替換url更改時的視圖部分。

<div class="row" ng-app="getCat">
    <div class="col-md-12">
        <div ng-view></div> // ---- This is the thing you missed
    </div>
</div>

暫無
暫無

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

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