Angularjs 服务(工厂)错误-json api未显示数据
我花了大约4到6个小时试图解决我的问题——也许我完全错了Angularjs 服务(工厂)错误-json api未显示数据,angularjs,Angularjs,我花了大约4到6个小时试图解决我的问题——也许我完全错了 controller.js文件: 'use strict'; /* Controllers */ var bookControllers = angular.module('bookControllers', []); bookControllers.controller('BookListCtrl', ['$scope', 'Book', function($scope, Book) { $scope.books =
controller.js
文件:
'use strict';
/* Controllers */
var bookControllers = angular.module('bookControllers', []);
bookControllers.controller('BookListCtrl', ['$scope', 'Book',
function($scope, Book) {
$scope.books = Book.query();
$scope.orderProp = 'name';
}]);
bookControllers.controller('BookDetailCtrl', ['$scope', '$routeParams', 'Book',
function($scope, $routeParams, Book) {
$scope.book = Book.get({bookId: $routeParams.bookId}, function(book) {
$scope.mainImageUrl = book.avatar;
});
$scope.setImage = function(imageUrl) {
$scope.mainImageUrl = imageUrl;
};
}]);
我的service.js
文件
'use strict';
/* Services */
var bookServices = angular.module('bookServices', ['ngResource']);
bookServices.factory('Book', ['$resource',
function($resource){
return $resource('https://api.myjson.com/bins/1oofv', {}, {
query: {method:'GET', params:{bookId:'bookId'}, isArray:true}
});
}]);
那么发生了什么
MySHOW
文件-它显示我的book.json中的所有书籍。我在myjson上托管的文件显示了我需要的所有内容
它使用以下html相应地显示所有缩略图:
<div class="container">
<!--Nav Bar-->
<div class="row">
<div class="col-md-4">
Find me the best
<select ng-model="orderProp" class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
<option value="name">Alphabetical</option>
<option value="age">Newest</option>
</select>
</div>
<div class="col-md-4">
Books about
<select ng-model="orderProp" class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
<option ng-repeat="book in books" value="">{{ book.genre.name }}</option>
</select>
</div>
<div class="col-md-4">
<div class="input-group">
<input ng-model="query" type="text" class="form-control" placeholder="Search books">
<span class="input-group-btn">
<button class="btn btn-default" type="button"><span class="glyphicon glyphicon-search" ></span></button>
</span>
</div>
</div>
</div>
<!--Body content-->
<div class="row">
<div class="col-md-4" ng-repeat="book in books | filter:query | orderBy:orderProp">
<div class="thumbnail" id="books">
<a href="#/books/{{ book.name }}"><img ng-src="{{ book.cover }}"></a>
<div class="caption">
<h4>{{ book.name }}</h4>
<h5><a href="{{ book.id }}">{{ book.author.name }}</a></h5>
<span class="glyphicon glyphicon-heart likes">{{ book.likes }}</span>
<span style="float: right;">{{ book.published | date:'yyyy-MM-dd' }}</span>
</div>
</div>
</div>
</div>
</div>
给我找最好的
按字母顺序排列的
最新的
关于
{{book.genre.name}
{{book.name}
{{book.likes}}
{{book.published}日期:'yyyy-MM-dd'}
这一切都很好-现在,当我单击某本书或某位作者时,我希望该应用程序能够导航到下一页,在以下模板中显示我需要的所有详细信息(但它没有):
类别:
{{book.genre.category}
介绍
相似阅读
同侧耳
1032
三天前
同侧耳
1032
三天前
同侧耳
1032
三天前
查看网站上的我的josn文件:
我只需要做以下几件事:
使用json文件在列表
页面上显示书籍(带有一些细节)-以我认为合适的任何显示样式显示
然后-一旦所有的书都显示出来(具有搜索和过滤功能)-就可以点击一本书并进入书的详细信息
页面,在那里我们将深入了解该书的更多细节,并显示与之相似的书。停止强调,并遵循以下步骤
我发现的第一个问题是,您使用Book.get
但定义了Book.query
其次,使用href=“#”
可以使用
,或者,如我所愿,只需使用一个按钮,一个无处可去的超链接不是链接李>
正如yeouuu所说,href=“{{{book.id}}}”
似乎是错误的,这要么是一个语义错误,应该是href=“{{book.url}}”
,要么这只是一个错误,应该完全是其他错误
完成本教程,这是一个很好的资源。您只需设置href=“{{book.id}”。这似乎不对。你能展示一下你设置的不同路线吗?谢谢-我会查出来的。这么多的资源,我似乎从每一个中学到了错误的东西。我试着用“phoencatApp”示例表单angular来创建我需要的应用程序。这没什么错,手机应用程序可以工作,是一个很好的资源,但我发现Gemstore的速度更快。由于它是交互式的,并且与屏幕广播相结合,我发现它更容易理解。另一个很好的资源是,在工作中,我们基于他的工作建立了我们的代码风格,但在某些方面又向前迈进了一步。
<div class="container">
<div class="row">
<header>
<h1></h1>
<h4></h4>
<p></p>
<h6>Categories:</h6>
<span>{{ book.genre.category }}</span>
</header>
</div>
<div class="row">
<h3>Introduction</h3>
<h1></h1>
<p></p>
<div class="line-sep"></div>
<img ng-src="{{ avatar }}" class="img-round" />
<h2></h2>
</div>
<div class="row">
<h1>Similar reading</h1>
<p></p>
<div class="col-md-4">
<div class="thumbnail" id="books">
<a href="#"><img ng-src="http://placehold.it/350x500"></a>
<div class="caption">
<h4>Lorem Ipsum Dolar Asar</h4>
<h5><a href="#">By Mr Lorem Ipsum</a></h5>
<span class="glyphicon glyphicon-heart likes">1032</span>
<span style="float: right;">3 days ago</span>
</div>
</div>
</div>
<div class="col-md-4">
<div class="thumbnail" id="books">
<a href="#"><img ng-src="http://placehold.it/350x500"></a>
<div class="caption">
<h4>Lorem Ipsum Dolar Asar</h4>
<h5><a href="#">By Mr Lorem Ipsum</a></h5>
<span class="glyphicon glyphicon-heart likes">1032</span>
<span style="float: right;">3 days ago</span>
</div>
</div>
</div>
<div class="col-md-4">
<div class="thumbnail" id="books">
<a href="#"><img ng-src="http://placehold.it/350x500"></a>
<div class="caption">
<h4>Lorem Ipsum Dolar Asar</h4>
<h5><a href="#">By Mr Lorem Ipsum</a></h5>
<span class="glyphicon glyphicon-heart likes">1032</span>
<span style="float: right;">3 days ago</span>
</div>
</div>
</div>
</div>
</div>