"AngularJS"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
잔글 |
잔글 |
||
1번째 줄: | 1번째 줄: | ||
AngularJS를 정리 합니다. | AngularJS를 정리 합니다. | ||
− | *홈페이지 : http://angularjs.org/ | + | *홈페이지 : [http://angularjs.org/ http://angularjs.org/] |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ==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 }} |
app.filter('checkmark', function() { | app.filter('checkmark', function() { | ||
− | + | return function(input) { | |
− | + | 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) { | |
− | + | $scope.phones = data; | |
− | + | }); | |
}); | }); | ||
− | + | ||
app.factory('Phone', ['$resource', | 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) { | 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/] | ||
− | *[ | + | *[https://github.com/matys84pl/angularjs-requirejs-lazy-controllers/ 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] | ||
− | + | :*[https://github.com/DanWahlin/CustomerManager https://github.com/DanWahlin/CustomerManager] | |
− | |||
− | :*https://github.com/DanWahlin/CustomerManager | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | [[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를 정리 합니다.
- 홈페이지 : 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
- 다운로드 :
- 라이선스 :
- 플랫폼 : JavaScript
목차
AngularJS 개요
구성 요소
구성 요소 | 설명 |
$scope |
|
module | 코드를 관리하는 컨테이너 |
controller | |
template | |
directive |
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();
참고 문헌
- 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/