2016-08-22 5 views
0

私は$ routeProvideを使ってページを別のページにリダイレクトしています。その中にURLにいくつかの動的パラメータを渡しています。

1か所で動作していて、別の場所では動作しません。

私のコード:コントローラファイル内app.js

app.config(['$routeProvider', '$locationProvider', 
function ($routeProvider, $locationProvider) { 
    $routeProvider 
      .when('/', { 
       templateUrl: "client/home/home.html", 
       controller: "IndexCtrl", 
       access: { 
        isloggedIn: false 
       } 
      }) 
      .when('/test/:searchTerm', { 
       templateUrl: "client/test.html", 
       controller: "testController", 
       access: { 
        isloggedIn: false 
       } 
      }) 
      .when('/test2/:id', { 
       templateUrl: "client/index.html", 
       controller: "indexController", 
       access: { 
        isloggedIn: true 
       } 
      }) 

      .otherwise({ 
       redirectTo: "/" 
      }); 
}]); 

で:testControllerのための私は、URLサーバを打ったとき server.com/#/test/45は、コンソール45に及びindexControllerためだURLを打ったとき.com /#/ test2/45それから私は得る:コンソールのID。

app.controller("testController", ['$location', '$rootScope', '$routeParams', function ($location, $rootScope, $routeParams) { 
console.log($routeParams.searchTerm); //get result 45 
}]); 

app.controller("indexController", ['$location', '$rootScope', '$routeParams', function ($location, $rootScope, $routeParams) { 
console.log($routeParams.id); //get result :id 
}]); 

なぜこのようなことが起こるのですか?何が問題になるはずですか?

+0

で問題を再作成することで、URLパス '/ TEST2 /:idが' 表記します正しい? –

+0

もあなたのhtmlを共有します –

+0

@ebinmanuva htmlの両方にテストテキストのみを入れて、両方とも存在します – Nitin

答えて

0

($routeParams.id);代わりの($routParams.id);を試してみてください、あなたの$routParams.searchTermが動作しているが、それは(route、ないroutする必要があります)いけない理由を、私は知りません。

+0

私の場合は$ routeParamsを使用しています。スペルが間違っていました。ありがとうございます。私の質問を更新しました – Nitin

0

あなたのコードのように見えますが、スペルミス以外は正しいです。私が見つけることができる唯一の違いは、IsLoggedInプロパティの値です。あなたはそれを間違って作ってみましたか? IsLoggedInプロパティの意味は何ですか?

+0

私の場合は、私がログインしようとしているときにログインユーザーのみが使用している場合は、アクセスベースの追加パラメータを使用しています。 – Nitin

+0

ブラウザのコンソールにエラーがありますか?そして、あなたはindex.htmlのhtmlを共有できますか? –

0

hyperlink/test2/:idに確認してください。 ng-href="#/test2/{{id}}"


ng-href="#/test2/:id" 変更それは

id変数を定義するのを忘れていないようですがかもしれ fiddle

関連する問題