2016-06-26 3 views
0

私のアプリケーション状態を制御するためにui-route doを使用しようとしていますが、状態をURLにしたいとします。href属性を使用するとui-routeが機能しない

リンクをクリックして、自動的に関連するURLの状態になります。

私は、詳細なガイドに続き、私のコードは、この(https://plnkr.co/edit/wk1RphKq6G3t4GqfppYm plnkrを参照してください)のようになります。

JS:

angularModule.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { 
     //$urlRouterProvider.otherwise("/management"); 

     $stateProvider 
      .state('management', { 
      url: '/', 
      template: '<p>:)</p>' 
      }) 
      .state('management.users', { 
      url: '/users', 
      templateUrl: './users.html' 
      }); 
     }]); 

HTML:

<div class="container-fluid" ng-controller="PageController"> 
      <aside class="sidebar col-md-3"> 
       <nav> 
        <ul> 
         <li><a href="index.html">Management</a></li> 
         <li><a href="management/users">Users</a></li> 
        </ul> 
       </nav> 
      </aside> 
      <section class="content col-md-9" ui-view> 
      </section> 
     </div> 

私は何をしないのです?

答えて

0

を助け、このhttps://github.com/angular-ui/ui-router/wiki/Quick-Reference#ui-sref

希望を見て、 '/' にルート状態のURLを設定します。

$stateProvider 
    .state('management', { 
    url: '/',  // INSTEAD OF "index.html" 
    template: '<p>:)</p>' 
    }) 
    .state('management.users', { 
    url: '/users', 
    templateUrl: 'users.html' 
    }); 

次。あなたはモジュールを作成することはありません

angularModule = angular.module('app', [ 
    'ui.router', 
    'ui.bootstrap', 
    'dev.api' // HERE 
]); 

しかし:あなたは、ルートモジュールへ'dev.api'を注入しようとしています。あなたはこれにservice.jsを変更する必要があります。

angular 
    .module('dev.api', []); // THIS IS HOW YOU DEFINE A NEW MODULE (Without external dependencies) 
angular 
    .module('dev.api').service('usersApiService', ['$http', function ($http) { ..... 

今、あなたはui-srefは(https://plnkr.co/edit/XbDx2EonQvZYXsyvWhUW?p=preview)作業していることがわかります。あなたはまだいくつかのJSエラーがあることに注意してください、それらはあなたのアプリのロジックに関連しており、その質問には関係ありません。

+0

'ui-sref =" users " '。 'users.html'が表示されます。私のplnkrは時代遅れだった、申し訳ありません。 –

+0

@matheusrufcaこのように、これは? https://plnkr.co/edit/aDPWzW5AgQhutV4g5xri?p=preview –

+0

https://plnkr.co/edit/wk1RphKq6G3t4GqfppYm?p=preview –

1

UI-ルータは、あなたが使用する必要があり、それ自身のhtmlプロパティを持っているので、代わりの

href="management/users"

ui-sref="management.users"

あなたはUI-SREFを使用したパス名は、状態名ですURLパス自体ではありません。

はあなたが状態を定義すると、これは

+0

したがって、 'href'を使って状態を制御する方法はありませんか? –

+0

私のplnkrでは、 –

+0

が表示されていない 'ui-sref =" management.users "と' users.html'を試しました。これはtemplateUrlのために渡されたドットを削除してうまく動作するはずです。 – Sam

関連する問題