"AngularJS"의 두 판 사이의 차이

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기
잔글
 
잔글
 
1번째 줄: 1번째 줄:
 
AngularJS를 정리 합니다.
 
AngularJS를 정리 합니다.
  
*홈페이지 : http://angularjs.org/
+
*홈페이지 : [http://angularjs.org/ http://angularjs.org/]
:*JavaScript 웹 개발 화면 : http://jsfiddle.net/api/post/library/pure/
 
:*CheatSheet : http://www.cheatography.com/proloser/cheat-sheets/angularjs/
 
:*API : http://docs.angularjs.org/api/ng
 
:*Developer Guide: http://docs.angularjs.org/guide
 
::*[[Bootstrap]] : http://docs.angularjs.org/guide/bootstrap
 
*다운로드 :
 
*라이선스 :
 
*플랫폼 : [[JavaScript]]
 
  
==AngularJS 개요==
+
:*JavaScript 웹 개발 화면 : [http://jsfiddle.net/api/post/library/pure/ http://jsfiddle.net/api/post/library/pure/]
===구성 요소===
+
:*CheatSheet : [http://www.cheatography.com/proloser/cheat-sheets/angularjs/ http://www.cheatography.com/proloser/cheat-sheets/angularjs/]
{|cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center"
+
:*API : [http://docs.angularjs.org/api/ng http://docs.angularjs.org/api/ng]
 +
:*Developer Guide: [http://docs.angularjs.org/guide http://docs.angularjs.org/guide]
 +
::*[[Bootstrap|Bootstrap]] : [http://docs.angularjs.org/guide/bootstrap http://docs.angularjs.org/guide/bootstrap]
 +
 
 +
*다운로드 :
 +
*라이선스 :
 +
*플랫폼 : [[JavaScript|JavaScript]]
 +
 
 +
== AngularJS 개요 ==
 +
 
 +
=== 구성 요소 ===
 +
 
 +
{| cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center"
 
|-
 
|-
|width="20%" align="center" valign="middle" style="background-color:#eee;"|구성 요소
+
| width="20%" align="center" valign="middle" style="background-color:#eee;" | 구성 요소
|width="80%" align="center" valign="middle" style="background-color:#eee;"|설명
+
| width="80%" align="center" valign="middle" style="background-color:#eee;" | 설명
 
|-
 
|-
|align="center" valign="middle"|$scope
+
| align="center" valign="middle" | $scope
|align="left" valign="middle"|
+
| align="left" valign="middle" |  
 
*컨트롤러와 템플릿을 연결하고 모델을 보강하여 양방향 바인딩을 할 수 있게 하는 객체
 
*컨트롤러와 템플릿을 연결하고 모델을 보강하여 양방향 바인딩을 할 수 있게 하는 객체
 +
 
|-
 
|-
|align="center" valign="middle"|module
+
| align="center" valign="middle" | module
|align="left" valign="middle"|
+
| align="left" valign="middle" | 코드를 관리하는 컨테이너
 
|-
 
|-
|align="center" valign="middle"|controller
+
| align="center" valign="middle" | controller
|align="left" valign="middle"|
+
| align="left" valign="middle" |  
 
|-
 
|-
|align="center" valign="middle"|template
+
| align="center" valign="middle" | template
|align="left" valign="middle"|
+
| align="left" valign="middle" |  
 
|-
 
|-
|align="center" valign="middle"|directive
+
| align="center" valign="middle" | directive
|align="left" valign="middle"|
+
| align="left" valign="middle" |  
 
*HTML에 새로운 기능을 알려 주는 역할
 
*HTML에 새로운 기능을 알려 주는 역할
 
*restrict
 
*restrict
:*A : Attribute
+
 
:*E : Element
+
:*A : Attribute
:*C : Class
+
:*E : Element
:*M : coMment
+
:*C : Class
 +
:*M : coMment
 +
 
 
*replace: true
 
*replace: true
*template : HTML 요소
+
*template : HTML 요소
*link : function(scope, element, attrs) { ~ }
+
*link : function(scope, element, attrs) { ~ }
 +
 
 
  app.directive('~", function() { return ~; });
 
  app.directive('~", function() { return ~; });
 +
 
|-
 
|-
|align="center" valign="middle"|filter
+
| align="center" valign="middle" | filter
|align="left" valign="middle"|
+
| align="left" valign="middle" |  
  { { ~ | filter }}
+
  { { ~ | filter }}
 
  app.filter('checkmark', function() {
 
  app.filter('checkmark', function() {
    return function(input) {
+
    return function(input) {
        return input ? 'aa' : 'bb';
+
        return input ? 'aa' : 'bb';
    };
+
    };
 
  });
 
  });
  
 
|-
 
|-
|align="center" valign="middle"|service
+
| align="center" valign="middle" | service
|align="left" valign="middle"|
+
| align="left" valign="middle" |  
 
*어플리케이션에 어떤 기능을 제공하는 싱글톤 클래스
 
*어플리케이션에 어떤 기능을 제공하는 싱글톤 클래스
 +
 
  app.factory('~', function() { return ~; });
 
  app.factory('~', function() { return ~; });
 +
 
|}
 
|}
  
===주요 문법===
+
*
 +
=== http://frontend.diffthink.kr/2016/07/angularjs-angularjs.html ===
 +
 
 +
 
 +
 
 +
 
 +
=== 주요 문법 ===
 +
 
 
*ng-app="phonecatApp"
 
*ng-app="phonecatApp"
 
*ng-controller="PhoneListCtrl"
 
*ng-controller="PhoneListCtrl"
66번째 줄: 84번째 줄:
 
*ng-view
 
*ng-view
 
*ng-repeat="phone in phones"
 
*ng-repeat="phone in phones"
 +
 
:*ng-repeat="phone in phones | filter:query"
 
:*ng-repeat="phone in phones | filter:query"
 
:*ng-repeat="phone in phones | filter:query | orderBy:orderProp"
 
:*ng-repeat="phone in phones | filter:query | orderBy:orderProp"
 +
 
*ng-src
 
*ng-src
 
*ng-click="setImage(img)"
 
*ng-click="setImage(img)"
73번째 줄: 93번째 줄:
  
 
*Sample JavaScript
 
*Sample JavaScript
 +
 
  var phonecatApp = angular.module('phonecatApp', []);
 
  var phonecatApp = angular.module('phonecatApp', []);
 
  phonecatApp.controller('PhoneListCtrl', function ($scope) { ~ }
 
  phonecatApp.controller('PhoneListCtrl', function ($scope) { ~ }
 
   
 
   
 
  phonecatApp.controller('PhoneListCtrl', function ($scope, $http) {
 
  phonecatApp.controller('PhoneListCtrl', function ($scope, $http) {
    $http.get('phones/phones.json').success(function(data) {
+
    $http.get('phones/phones.json').success(function(data) {
        $scope.phones = data;
+
        $scope.phones = data;
      });
+
    });
 
  });
 
  });
 
+
 
  app.factory('Phone', ['$resource',
 
  app.factory('Phone', ['$resource',
    function($resource){
+
    function($resource){
        return $resource('phones/:phoneId.json', {}, {
+
        return $resource('phones/:phoneId.json', {}, {
            query: {method:'GET', params:{phoneId:'phones'}, isArray:true}
+
            query: {method:'GET', params:{phoneId:'phones'}, isArray:true}
    });
+
    });
  }]);
+
}]);
 
   
 
   
 
  app.controller('PhoneDetailCtrl', ['$scope', '$routeParams', 'Phone', function($scope, $routeParams, Phone) {
 
  app.controller('PhoneDetailCtrl', ['$scope', '$routeParams', 'Phone', function($scope, $routeParams, Phone) {
95번째 줄: 116번째 줄:
 
  Project.get({id: $routeParams.id}): new Project();
 
  Project.get({id: $routeParams.id}): new Project();
  
==참고 문헌==
+
== 참고 문헌 ==
*http://programmingsummaries.tistory.com/category/AngularJS
+
 
:*Grid : http://angular-ui.github.io/ng-grid/, http://programmingsummaries.tistory.com/151
+
*[http://programmingsummaries.tistory.com/category/AngularJS http://programmingsummaries.tistory.com/category/AngularJS]
:*Tree : http://programmingsummaries.tistory.com/248
+
 
 +
:*Grid : [http://angular-ui.github.io/ng-grid/ http://angular-ui.github.io/ng-grid/], [http://programmingsummaries.tistory.com/151 http://programmingsummaries.tistory.com/151]
 +
:*Tree : [http://programmingsummaries.tistory.com/248 http://programmingsummaries.tistory.com/248]
 +
 
 +
*[[Bootstrap|Bootstrap]]
 +
 
 +
:*[http://mobicon.tistory.com/392 http://mobicon.tistory.com/392]
 +
:*[http://getbootstrap.com/ http://getbootstrap.com/], [http://startbootstrap.com/ http://startbootstrap.com/]
 +
:*[http://addyosmani.github.io/jquery-ui-bootstrap/ http://addyosmani.github.io/jquery-ui-bootstrap/]
 +
:*[http://angular-ui.github.io/bootstrap/ http://angular-ui.github.io/bootstrap/]
 +
:*[http://angular-ui.github.io/ http://angular-ui.github.io/], [https://github.com/angular-ui/ https://github.com/angular-ui/]
 +
:*[http://angular-ui.github.io/ http://angular-ui.github.io/], [http://angular-ui.github.io/bootstrap/ http://angular-ui.github.io/bootstrap/]
  
*[[Bootstrap]]
+
*[https://github.com/matys84pl/angularjs-requirejs-lazy-controllers/ https://github.com/matys84pl/angularjs-requirejs-lazy-controllers/]
:*http://mobicon.tistory.com/392
 
:*http://getbootstrap.com/, http://startbootstrap.com/
 
:*http://addyosmani.github.io/jquery-ui-bootstrap/
 
:*http://angular-ui.github.io/bootstrap/
 
:*http://angular-ui.github.io/, https://github.com/angular-ui/
 
:*http://angular-ui.github.io/, http://angular-ui.github.io/bootstrap/
 
  
*https://github.com/matys84pl/angularjs-requirejs-lazy-controllers/
+
*[http://www.nextree.co.kr/p3241/ http://www.nextree.co.kr/p3241/]
 +
*[http://weblogs.asp.net/dwahlin/archive/2013/05/22/dynamically-loading-controllers-and-views-with-angularjs-and-requirejs.aspx http://weblogs.asp.net/dwahlin/archive/2013/05/22/dynamically-loading-controllers-and-views-with-angularjs-and-requirejs.aspx]
  
*http://www.nextree.co.kr/p3241/
+
:*[https://github.com/DanWahlin/CustomerManager https://github.com/DanWahlin/CustomerManager]
*http://weblogs.asp.net/dwahlin/archive/2013/05/22/dynamically-loading-controllers-and-views-with-angularjs-and-requirejs.aspx
 
:*https://github.com/DanWahlin/CustomerManager
 
*http://blog.outsider.ne.kr/975
 
*http://jcf.daewoobrenic.co.kr/blog/?p=237
 
*https://gist.github.com/ysyun/5394125
 
*http://blog.outsider.ne.kr/1002?category=22
 
*https://medium.com/opinionated-angularjs/a2fcbf874a1c
 
  
[[Category:JavaScript]]
+
*[http://blog.outsider.ne.kr/975 http://blog.outsider.ne.kr/975]
 +
*[http://jcf.daewoobrenic.co.kr/blog/?p=237 http://jcf.daewoobrenic.co.kr/blog/?p=237]
 +
*[https://gist.github.com/ysyun/5394125 https://gist.github.com/ysyun/5394125]
 +
*[http://blog.outsider.ne.kr/1002?category=22 http://blog.outsider.ne.kr/1002?category=22]
 +
*[https://medium.com/opinionated-angularjs/a2fcbf874a1c https://medium.com/opinionated-angularjs/a2fcbf874a1c]
 +
[[Category:JavaScript|Category:JavaScript]]

2017년 2월 7일 (화) 10:48 기준 최신판

AngularJS를 정리 합니다.

  • 다운로드 :
  • 라이선스 :
  • 플랫폼 : JavaScript

AngularJS 개요

구성 요소

구성 요소 설명
$scope
  • 컨트롤러와 템플릿을 연결하고 모델을 보강하여 양방향 바인딩을 할 수 있게 하는 객체
module 코드를 관리하는 컨테이너
controller
template
directive
  • HTML에 새로운 기능을 알려 주는 역할
  • restrict
  • A : Attribute
  • E : Element
  • C : Class
  • M : coMment
  • replace: true
  • template : HTML 요소
  • link : function(scope, element, attrs) { ~ }
app.directive('~", function() { return ~; });
filter
{ { ~ | filter }}
app.filter('checkmark', function() {
   return function(input) {
       return input ? 'aa' : 'bb';
   };
});
service
  • 어플리케이션에 어떤 기능을 제공하는 싱글톤 클래스
app.factory('~', function() { return ~; });

http://frontend.diffthink.kr/2016/07/angularjs-angularjs.html

주요 문법

  • ng-app="phonecatApp"
  • ng-controller="PhoneListCtrl"
  • ng-model="query"
  • ng-view
  • ng-repeat="phone in phones"
  • ng-repeat="phone in phones | filter:query"
  • ng-repeat="phone in phones | filter:query | orderBy:orderProp"
  • ng-src
  • ng-click="setImage(img)"
  • { { ~ | filter }}
  • Sample JavaScript
var phonecatApp = angular.module('phonecatApp', []);
phonecatApp.controller('PhoneListCtrl', function ($scope) { ~ }

phonecatApp.controller('PhoneListCtrl', function ($scope, $http) {
   $http.get('phones/phones.json').success(function(data) {
       $scope.phones = data;
    });
});

app.factory('Phone', ['$resource',
   function($resource){
       return $resource('phones/:phoneId.json', {}, {
           query: {method:'GET', params:{phoneId:'phones'}, isArray:true}
   });
}]);

app.controller('PhoneDetailCtrl', ['$scope', '$routeParams', 'Phone', function($scope, $routeParams, Phone) {
}

$resource('data/project.json/:id', {id: '@id'});
Project.get({id: $routeParams.id}): new Project();

참고 문헌