現在、AngularとNodeJSを使用してRESTful APIを構築しようとしています。現在、私はちょっと面倒な問題に直面しています。ユーザーをアプリケーションの詳細ページに移動させるためのボタンを作成した後、ボタンは単に応答しません。ボタンそのものがコード化されていると私は思っています。それは私が確信している指示です。AngularJSボタン指示が機能しない
メインapp.js
var myApp = angular.module('myApp', [ 'ngRoute']);
myApp.config(function($routeProvider){
$routeProvider.when('/', {
controller: 'BooksController',
templateUrl: 'views/books.html'
})
.when('/books', {
controller: 'BooksController',
templateUrl: 'views/books.html'
})
.when('/books/details/:id ', {
controller: 'BooksController',
templateUrl: 'views/book_details.html'
})
.when('/books/add', {
controller: 'BooksController',
templateUrl: 'views/add_book.html'
})
.when('/books/edit/:id ', {
controller: 'BooksController',
templateUrl: 'views/edit_book.html'
})
.otherwise({
redirectTo: '/'
});
});
books.html(ビュー)
<div class="panel panel-default" ng-init="getBooks()">
<div class="panel-heading">
<h3 class="panel-title">Latest Books</h3>
</div>
<div class="panel-body">
<div class = "row">
<div ng-repeat="book in books">
<div class="col-md-6">
<div class="col-md-6">
<h4>{{book.title}}</h4>
<p>{{book.description}}</p>
<a class =" btn btn-primary" href ="#/books/details/{{book._id}}">View Details</a>
</div>
<div class="col-md-6">
<img class ="thumbnail" src="{{book.image_url}}">
</div>
</div>
</div>
</div>
</div>
</div>
books.js
var myApp = angular.module('myApp');
myApp.controller('BooksController', ['$scope', '$http', '$location', '$routeParams',function($scope, $http, $location, $routeParams){
console.log('LOADED');
$scope.getBooks = function(){
$http.get('/api/books ').success(function(response){
$scope.books = response;
});
}
$scope.getBook = function(){
var id = $routeParams.id;
$http.get('/api/books/'+id).success(function(response){
$scope.book = response;
});
}
}]);
私は問題はここにあるかもしれないと思う:$http.get('/api/books/'+id).success(function(response)
それが何だから私は、ボタンから詳細ページにルーティングするために使用しています。
はここに私のbook_details.htmlページ
<div class="panel panel-default" ng-init="getBook()">
<div class="panel-heading">
<h3 class="panel-title">{{book.title}}</h3>
</div>
<div class="panel-body">
<div class = "row">
<div class = "col-md-4">
<img src ="{{book.image_url}}">
</div>
<div class = "col-md-8">
<p>{{book.description}}</p>
<ul class = "list-group">
<li class ="list-group-item">Genre: {{book.genre}}</li>
<li class ="list-group-item">Author: {{book.author}}</li>
<li class ="list-group-item">Publisher: {{book.publisher}}</li>
<li class ="list-group-item">Pages: {{book.pages}}</li>
</ul>
</div>
</div>
</div>
</div>
あるプラス私は{{book.image_url}}
に404を取得しています、私はなぜわかりません。これは、クリック可能ではないボタンに貢献できますか?
404エラーの場合は、 'ng-src =" {{book.image_url}} "'を使用してください。 – Phil
状態を読み込むために 'ng-init'を使用しません(こちらの警告を参照してください〜https://docs.angularjs.org/api/ https://docs.angularjs.org/api/ng/directive/ngSrcを参照)。 ng/directive/ngInit)。代わりに、ルート設定で 'resolve'セクションを使用してください。私は本対書籍のための別のコントローラを使用したい – Phil
ブラウザを介して詳細URLを直接訪問することはできますか?それはそれをさらに狭めるのを助けるはずです。あなたのボタンに問題はないので、 –