2016-12-14 92 views
1

所以我想列出一些API調用,這是JSON的數據。我是Angular和JavaScript的新手,我認爲整個異步的事情正在搞亂我的邏輯。有時,當我刷新頁面時,它完美地工作,我所期望的所有數據都存在,但下一次我刷新它的消失。這似乎發生在我改變控制器中的某些東西時。AngularJS工作一次,然後不再呈現

var app = angular.module("hasRead", ['hasRead.controllers', 'hasRead.directives', 'hasRead.services', 'hasRead.filters','ngRoute']); 

app.config(["$routeProvider", function ($routeProvider) { 
    $routeProvider 
    .when("/books/:shelf", {controller: "BooksCtrl", templateUrl: "partials/books_list.html"}) 
    .when("/recomend", {controller: "RecomendCtrl", templateUrl: "partials/recomend.html"}) 
    .otherwise({redirectTo: "/books/read"}) 
}]); 

controller.js

var ctrls = angular.module('hasRead.controllers', []); 

ctrls.controller('AppCtrl', function ($scope) { 
}); 

ctrls.controller('BooksCtrl', function ($scope, $book, $routeParams) { 
    $scope.books; 
    var shelf = $routeParams.list; 
    $book.getBooks(shelf).then(function(data) { 
    $scope.books = data.query.results.body.goodreadsresponse.reviews; 
    console.log($scope.books); 
    $scope.$apply; 
    }); 
}); 

ctrls.controller('RecomendCtrl', function ($scope) { 
    $scope.test = "testing"; 
}); 

HTML

<div> 
    <book ng-repeat="review in books.review" review-data="review"></book> 
</div> 

它的代碼,所以這裏一個公平位是plunkr: https://plnkr.co/edit/l3A6QF?p=info

+0

重新啓動不起作用。 (角度不正確鏈接),figure指令缺失和$ scope。$ apply()是一個函數,添加圓括號並查看它是否工作得更好。 – gyc

+0

它只是在那裏,所以你可以看到代碼不運行應用程序。 – James

+0

是的,這就是我的想法。很高興幫助。 – gyc

回答

0

我沒有括號在$scope.$apply();在控制器中。

相關問題