AngularJS
개발자 | 구글 |
---|---|
발표일 | 2010년 10월 20일[1] |
최근 버전 | 1.6.6 / 2017년 8월 18일[2] |
개발 상태 | 개발 중 |
프로그래밍 언어 | 자바스크립트 |
플랫폼 | 크로스 플랫폼 |
크기 | 144 KB (운영용) 1 MB (개발용) |
종류 | 자바스크립트, 싱글 페이지 애플리케이션 프레임워크 |
라이선스 | MIT 라이선스 |
웹사이트 | angularjs |
AngularJS("Angular.js" 또는 "AngularJS 1.X")는 자바스크립트 기반의 오픈 소스 프론트엔드 웹 애플리케이션 프레임워크의 하나로, 싱글 페이지 애플리케이션 개발 중에 마주치는 여러 문제들을 해결하기 위해 개발되었으며 주로 구글과 개별 커뮤니티, 여러 회사에 의해 유지보수되고 있다. 자바스크립트 구성 요소들은 크로스 플랫폼 모바일 앱을 개발하기 위해 사용되는 프레임워크인 아파치 코도바를 보완한다. 리치 인터넷 애플리케이션에 공통적으로 사용되는 구성 요소들과 더불어 클라이언트 사이드의 모델-뷰-컨트롤러(MVC)와 모델-뷰-뷰모델(MVVM) 구조를 위한 프레임워크를 제공함으로써 이러한 애플리케이션들의 개발 및 테스트를 단순화하는 것이 목적이다. 2014년에 오리지널 AngularJS 팀은 Angular 플랫폼에 대한 작업에 착수하였다.
- 참고 위키백과
AngularJS extends HTML with new attributes.
AngularJS is perfect for Single Page Applications (SPAs).
AngularJS is easy to learn.
- 참고 w3school
The Basics
- <!doctype html>
- <html
ng-app
> - <head>
- <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.5/
angular.min.js
"></script> - </head>
- <body>
- <div>
- <label>Name:</label>
- <input type="text"
ng-model
="yourName" placeholder="Enter a name here"> - <hr>
- <h1>Hello
{{yourName}}
!</h1> - </div>
- </body>
- </html>
출처 - angularjs.com
아래 동영상은 JQuery 와 Angularjs 에 대해 기본적인 차이를 잘 보여준다.
-
JQuery vs Angularjs
-
Add Some Control
Data Binding
Controller
Plain JavaScript
- <!doctype html>
- <html
ng-app
="todoApp"> - <head>
- <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.5/
angular.min.js
"></script> - <script src="
todo.js
"></script> - <link rel="stylesheet" href="todo.css">
- </head>
- <body>
- <h2>Todo</h2>
- <div
ng-controller
="TodoListController as todoList"> - <span>{{todoList.remaining()}} of {{todoList.todos.length}} remaining</span>
- [ <a href=""
ng-click
="todoList.archive()">archive</a> ] - <ul class="unstyled">
- <li
ng-repeat
="todo in todoList.todos"> - <label class="checkbox">
- <input type="checkbox"
ng-model
="todo.done"> - <span class="done-
{{todo.done}}
">{{todo.text}}</span> - </label>
- </li>
- </ul>
- <form
ng-submit
="todoList.addTodo()"> - <input type="text" ng-model="todoList.todoText" size="30"
- placeholder="add new todo here">
- <input class="btn-primary" type="submit" value="add">
- </form>
- </div>
- </body>
- </html>
- angular.module('todoApp', [])
- .controller('
TodoListController
', function() { - var todoList = this;
- todoList.
todos
= [ - {text:'learn AngularJS', done:true},
- {text:'build an AngularJS app', done:false}];
- todoList.
addTodo
= function() { - todoList.todos.
push
({text:todoList.todoText, done:false}); - todoList.todoText =
''
; - };
- todoList.
remaining
= function() { - var count = 0;
- angular.forEach(todoList.todos, function(todo) {
- count += todo.done ? 0 : 1;
- });
- return count;
- };
- todoList.archive = function() {
- var oldTodos = todoList.todos;
- todoList.todos = [];
- angular.forEach(oldTodos, function(todo) {
- if (!todo.done) todoList.todos.push(todo);
- });
- };
- });
출처 - angularjs.com
Wire up a Backend
http://plnkr.co/edit/QnD93ogq0J6ZyHxKtM1R?p=preview
https://docs.angularjs.org/api/ngRoute/provider/$routeProvider
https://docs.angularjs.org/api/ngRoute/service/$routeParams
https://docs.angularjs.org/api/ng/service/$location
https://docs.angularjs.org/api/ng/service/$q
$q.defer()
- Creates a Deferred object which represents a task which will finish in the future.
'Frontend > angularjs' 카테고리의 다른 글
[Hoon] AngularJS Seed - the seed for AngularJS apps (0) | 2019.01.04 |
---|---|
[Hoon] AngularJS - Angularjs Tutorial (0) | 2019.01.04 |
[Hoon] AngularJS - PhoneCat Tutorial App (0) | 2019.01.03 |
[Hoon] AngularJS - Componets, Directives, Localization Example (0) | 2018.12.31 |
[Hoon] AngularJS - Create Components (0) | 2018.12.31 |
댓글