2017-04-03 60 views
0

我的模式路由有問題,我可以檢索我的第一條路由(「/",menu.html),但是當我按下按鈕時,其他路由不會出現。模式中的路由沒有工作angularjs

這是我的路線:

angular.module('ui.bootstrap.demo').config(function($stateProvider, $urlRouterProvider){  
    $stateProvider 
     .state("foo", { 
      url: "/foo", 
      template: '<h1>foo</h1>' 
     }) 
     .state("menu", { 
      url: "/", 
      templateUrl: 'menu.html' 
     }) 
     .state("bar", { 
      url: "/bar", 
      template: '<h1>bar</h1>' 
     }) 

    $urlRouterProvider.otherwise("/"); 
}); 

這是我的模式與格視圖:

<div class="modal-header"> 
    <h3 class="modal-title" id="modal-title">I'm a modal!</h3> 
</div> 
<div class="modal-body" id="modal-body"> 
    <div class="row"> 
     <div class="span12 ui-view-container"> 
      <div class="well" ui-view></div>   
     </div> 
    </div>  
</div> 
<div class="modal-footer"> 
    <button class="btn btn-primary" type="button" ng-click="$ctrl.ok()">OK</button> 
    <button class="btn btn-warning" type="button" ng-click="$ctrl.cancel()">Cancel</button> 
</div> 

這是我menu.html

<div class="navbar"> 
    <div class="navbar-inner"> 
     <a class="brand" href="#">Quick Start</a> 
     <ul class="nav"> 
      <li><a href="#/foo">Route 1</a></li> 
      <li><a href="#/bar">Route 2</a></li> 
     </ul> 
    </div> 
</div> 

我做了一個simple plunker一種模式。

回答

2

狀態提供程序有ui-sref來處理需要狀態名稱導航的路由。

<ul class="nav"> 
    <li><a ui-sref="foo">Route 1</a></li> 
    <li><a ui-sref="bar">Route 2</a></li> 
</ul> 

更新

當您打開模式,運行它通過$state.go('menu')默認狀態 '菜單'。 爲了使這在控制器工作,注資$狀態波紋管:

angular.module('ui.bootstrap.demo').controller('ModalDemoCtrl', 
function ($uibModal, $log, $document, $state) { 
...... 

    $ctrl.open = function (size, parentSelector) { 
    $state.go('menu'); 
    ...... 
    } 
}); 

Plunker與評論的查詢更新。

+0

謝謝先生:D但只是一個更多的事情,當我重新把模態我有最後一個菜單選擇,我想回來在menu.html – Gazano

+0

請查看我的答案的更新。請注意,我不會回答任何更多的疑問,因爲它解決了你最初的問題。請關閉此主題併發布其他查詢的新問題。 – Sajal