그래서 GitHub (https://github.com/spring-projects/spring-boot)에서 스프링 부트 프로젝트를 발견했습니다. 앱을 사용하면 설명과 함께 항목 목록을 만들 수 있습니다. 목록의 항목도 삭제하는 기능이 있습니다. 이 프로젝트는 AngularJS를 사용하여 SPA (단일 페이지 응용 프로그램)에 자신을 노출하려는 시도였습니다.AngularJS : 종속성 추가 (인라인 배열 대 삽입)
이 코드는 injection을 사용하여 정의 된 컨트롤러와 팩토리에 종속성을 추가합니다.
- : 이제
var AppController = function($scope, Item) { Item.query(function(response) { $scope.items = response ? response : []; }); $scope.addItem = function(description) { new Item({ description: description, checked: false }).$save(function(item) { $scope.items.push(item); }); $scope.newItem = ""; }; $scope.updateItem = function(item) { item.$update(); }; $scope.deleteItem = function(item) { item.$remove(function() { $scope.items.splice($scope.items.indexOf(item), 1); }); }; }; AppController.$inject = ['$scope', 'Item']; angular.module("myApp.controllers").controller("AppController", AppController);
컨트롤러와 공장에 종속성을 추가하는 두 가지 방법이 있습니다 (만약 내가 잘못 날 수정) : 다음은이 구현을 사용 "controller.js"라는 예를 들어 클래스입니다 인라인 배열
- 암시 주입
내 관점은 내가 코드를 주입 모든 종속성를 사용하여 응용 프로그램을 가지고 다시 쓸 수있을 것 C ontroller와 factory 정의는 인라인 배열 방법론을 사용하여 종속성을 추가하게됩니다. 여기에 인라인 배열을 사용하여 동일한 "controller.js"하지만입니다 :
angular.module("myApp.controllerModule").controller("AppController", ['$scope', 'Item', function($scope, Item){
Item.query(function(response) {
$scope.items = response ? response : [];
});
$scope.addItem = function(description) {
new Item({
description: description,
checked: false
}).$save(function(item) {
$scope.items.push(item);
});
$scope.newItem = "";
};
$scope.updateItem = function(item) {
item.$update();
};
$scope.deleteItem = function(item) {
item.$remove(function() {
$scope.items.splice($scope.items.indexOf(item), 1);
});
}; }]);
내가 그렇게했을 때, 내 코드는 원래의 코드처럼 작동하지 않습니다. 구문 오류인지 또는 여러 스타일의 적용에 중요한 차이가 있는지 여부는 알 수 없습니다. 아무도 왜 이것이 작동하지 않는지 말해 줄 수 있습니까?
'내 코드가 원래 코드처럼 작동하지 않습니다'라고 정의하면 도움이됩니다. – lealceldeiro
의존성을 주입하는 방법에는 인라인 배열 주석, $ inject' 속성 주석 및 암시 적 주석이 있습니다. 처음 두 가지는 안전한 minification입니다. 마지막 하나는 그렇지 않습니다. 자세한 내용은 [AngularJS Developer Guide - Dependency Injection] (https://docs.angularjs.org/guide/di)를 참조하십시오. – georgeawg