Так что я экспериментирую с Angular. Я создал следующий модуль.
var archiveModule = angular.module('archiveModule', ['ngResource']);
archiveModule.factory('Archive', ['$resource',
function($resource) {
return $resource('/data/archive/:doc.json', {}, {
query: { method:'GET', params:{ doc: undefined }, isArray:true }
});
}]);
archiveModule.controller('ArchiveControl', ['$scope', '$http', 'Archive',
function ($scope, Archive) {
$scope.items = Archive.query();
$scope.orderProp = 'name';
}]);
Мой шаблон все происходит в пределах:
<div class="container" ng-app="archiveModule">
<div ng-controller="ArchiveControl">
I включают угловые скрипты в нижней части моей страницы:
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.12/angular.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.12/angular-resource.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.12/angular-route.js"></script>
И сообщает TypeError: undefined is not a function
Chrome, и она восходит к line $scope.items = Archive.query();
.
Согласно http://docs.angularjs.org/api/ngResource. $ Ресурс, запрос является частью $ resource, и я смоделировал свой ресурс http://docs.angularjs.org/tutorial/step_11. Я не уверен, что здесь происходит не так.
Спасибо за это! что это, кстати, почему это мешает ему работать? Это затенение «Архив» или что-то еще? – mercifulhop
Угловой взгляд на имена параметров, чтобы определить, какие зависимости нужно вводить. Это отлично работает ... пока скрипт не запускается через мини-файл, а имена параметров не будут искажены. Поэтому они позволяют объявлять зависимости в массиве, как указано выше. Когда это происходит, оно игнорирует имена параметров и строго соответствует именам строк в массиве. Недостатком является то, что легко выйти из синхронизации, как вы узнали здесь. :) –