4

当我升级了NG-repeat接受超长装载,并试图不正在由$资源服务的内容,以显示更多的内容框。角JS失败升级后从1.1.0到1.1.1

我已经缩小的问题降到1.1.0和1.1.1的更新。我浏览了更新日志,但没有发现我是罪魁祸首,但它必须在那里。

更新日志=>https://github.com/angular/angular.js/blob/master/CHANGELOG.md#111-pathological-kerning-2012-11-26

为这个应用程序的存储库=>https://github.com/brianpetro/resume

目前我的角度看起来像:

app = angular.module("Resume", ["ngResource"]) 

app.factory "Entry", ["$resource", ($resource) -> 
    $resource("/entries") 
] 

@EntryCtrl = ["$scope", "Entry", ($scope, Entry) -> 
    $scope.entries = Entry.query() 
] 

这可能发生在使用NG-重复多个视图:

<html ng-app="Resume"> 
    <div ng-controller="EntryCtrl"> 
    <ul> 
     <li ng-repeat="entry in entries"> 
     {{entry.title}} 
     </li> 
    </ul> 
    </div> 
</html> 

这是AngularJS 1.1.0版本: This is AngularJS version 1.1.0 这是AngularJS版本1.1.1: This is AngularJS version 1.1.1

+0

发表的jsfiddle。 – Stewie 2013-04-04 12:48:09

+0

'/ echo/json'返回'{}',所以我不得不用一个模型替换你的资源(使用超时)。我无法看到ng-repeat的任何问题。 [小提琴](http://jsfiddle.net/davwG/)。 – Stewie 2013-04-04 13:46:02

回答

8

这是不完全正确,你必须添加上传.json - 从我的经验,至少不是当我从1.0.x的切换到1.1.x中

为了让Rails应用程序返回JSON没有网址角1.1.x中specyfing扩展你需要的角度增加附加的头到HTTP请求:

 
myModule.config(['$httpProvider', function ($httpProvider) { 
    $httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; 
}]);

没有在默认情况下Rails的渲染整个HTML代替返回JSON。

Github issue reflecting that

+0

它不适合您的示例吗?如果您的JSON服务可用,则可以使用角码创建一个plunker,并且可以告诉您应该更改哪些内容。 为Rails 3.2和Angular 1.1.4添加此标头。因为它写在Github问题https://github.com/angular/angular.js/issues/1004 - Rails需要头文件来返回JSON(如果你没有指定.json扩展名)。 您的其他选择仅仅是返回Rails控制器中的JSON - 而不是respond_to do | format | ...以及针对不同格式的不同动作只是渲染:json – 2013-04-08 06:36:58

0

答案是在URL文件扩展名。从Angular版本1.1.1开始,有必要在资源中包含'.json'。

app = angular.module("Resume", ["ngResource"]) 

app.factory "Entry", ["$resource", ($resource) -> 
- $resource("/entries") 
+ $resource("/entries.json", {}, {}, {}) 
] 

app.factory "Done", ["$resource", ($resource) -> 
- $resource("/dones", {}, {update: {method: "PUT"}}) 
+ $resource("/dones.json", {}, {update: {method: "PUT"}}, {}) 
] 

app.factory "Resource", ["$resource", ($resource) -> 
- $resource("/resources", {}, {}) 
+ $resource("/resources.json", {}, {}, {}) 
] 

有人可以澄清这是因为我的Rails 4后端还是如果它是一个新的Angular要求?

+0

这是角度要求。我刚刚在下面发布了答案 – 2013-04-07 20:45:05