2016-10-06 3 views
0

私はAngularJSレッスンを受けました。しかしAngularは、ブラウザからリンクをクリックするとテンプレート/ 1のような詳細ページへのリンクを理解していません。しかし、ブラウザのアドレスバーにURLを入力すると正常に動作します。どうすれば解決できますか?経路がわからない

App.js

angular.module('templateStore.templates', ['ngRoute']) 
.config(['$routeProvider', function($routeProvider) { 
    $routeProvider 
     .when('/templates', { 
      templateUrl: 'templates/templates.html', 
      controller: 'TemplatesCtrl' 
    }) 
    .when('/template/:templateId', { 
     templateUrl: 'templates/template-details.html', 
     controller: 'TemplateDetailsCtrl' 
    }) 
    .otherwise({ 
     redirectTo: '/templates' 
    });  
}]) 
.controller('TemplatesCtrl', ['$scope', function($scope) { 
    console.log('This is Template '); 
}]) 
.controller('TemplateDetailsCtrl', ['$scope', '$http', function($scope, $http) { 
    console.log('This is Template Details'); 
}]) 
.controller('TemplateDetailsCtrl', ['$scope', '$http', function($scope, $http) { 
    console.log('This is Template Details'); 
}]); 

Templates.html(メインページ)

<div class="col-md-4 template"> 
    <h3>Template 4</h3> 
    <img src="img/4.jpg"> 
    <h4>$29.99</h4> 
    <a class="btn btn-primary btn-block" href="#/template/1">Details</a>  
</div> 

Attached is the image in which I highlighted the url in the address bar after clicking it

+0

'href ="#/ template/1 "'に '#'が必要ですか? –

+0

さて、それを取り出して見てください。あなたは時々試行錯誤しなければならないことがあります。特に新しいことを試してみるのであれば、私にはわかりません。 –

+0

私は単にチュートリアルに従った。 #または#!それは動作しません。 –

答えて

0
.when('/template/:templateId', { 
      templateUrl: 'templates/template-details.html', 
       controller: 'TemplateDetailsCtrl' 
      }) 

App.controller('TemplateDetailsCtrl', ['$scope', '$http', 
'$routeParams', function($scope, $http, $routeParams) {   
    console.log($routeParams.templateId); }]); 

デモ はい、あなたが必要とする#/ TE mplate/2とその作業コードを超えています。 これはあなたを助けるかもしれません....

+0

ありがとうございますが、動作しませんでした。詳細ページへのリンクをクリックすると、これはアドレスバーに表示される新しいURLです:templates#%2Ftemplate%2F1私は角度がルートを読んだり理解していないと思う。 –

関連する問題