我觉得应该是:
var app1 = angular.module("app1");
app1.controller("peopleController", ['$scope', 'Restangular', function ($scope, Restangular) {
$scope.people = Restangular.all('people').getList();
$scope.selectedItem = Enumerable.From(people).FirstOrDefault(); // ERROR
}]);
因此,没有功能的“把PeopleController的名字。
编辑
的问题是可枚举(这是在linqjs定义)是不可用,这被称为瞬间。因此,注入器正在为EnumerableProvider寻找它,但它不存在也不被注入。
您希望确保在运行应用程序之前加载linqjs源代码。如果Enumerable在全局范围内定义,那么您应该可以在控制器中使用它。我创建了加载角和linqjs从CDN并显示您它会从你的控制器 '只是工作' 一的jsfiddle:http://jsfiddle.net/ngn3Lprx/2/
var app = angular.module('myapp', []);
app.controller('myctrl', ['$scope', function ($scope) {
// Example from: http://linqjs.codeplex.com/
var jsonArray = [
{ "user": { "id": 100, "screen_name": "d_linq" }, "text": "to objects" },
{ "user": { "id": 130, "screen_name": "c_bill" }, "text": "g" },
{ "user": { "id": 155, "screen_name": "b_mskk" }, "text": "kabushiki kaisha" },
{ "user": { "id": 301, "screen_name": "a_xbox" }, "text": "halo reach" }
]
// ["b_mskk:kabushiki kaisha", "c_bill:g", "d_linq:to objects"]
$scope.queryResult = Enumerable.From(jsonArray)
.Where(function (x) { return x.user.id < 200 })
.OrderBy(function (x) { return x.user.screen_name })
.Select(function (x) { return x.user.screen_name + ':' + x.text })
.ToArray();
}]);
有景:
<div ng-app="myapp">
<div ng-controller="myctrl">
<pre>
{{ queryResult | json }}
</pre>
</div>
</div>
给出:
[
"b_mskk:kabushiki kaisha",
"c_bill:g",
"d_linq:to objects"
]
正如所料。
p.s.不要忘了分号后.getList();
它没有,我忘了它。 – 2015-02-10 09:33:19