2016년 3월 10일 목요일

[angularjs] hmmm

1. np-app 을 "" 으로 하면 따로 모듈을 정의 하지 않아도 곧장 쓸 수가 있는데,
이게 하나의 파일에서 여러 군데에서 정의해서 쓰고 있으면 맨 위에것만 제대로 동작함.
기본적으로 html 파일 하나에 np-app은 하나만 정의해서 쓰는 것이 원칙이다.
하나의 np-app 에 여러 개의 controller 는 붙일 수 있음.

2. 하나의 html 에 서로 다른 controller 들이 있으면 각각의 scope은 별 개의 공간임.
따라서, 변수 이름이 같아도 다른 공간에 속한 변수들임.

3. ng-init : 태그의 속성으로 자바스크립트 변수에 값 할당
                  String, array, object 등 할당 가능.

4. ng-model : input 의 경우, 해당 자바스크립트 변수와 input 의 내용이 착 달라붙음.
                      변수값이 바뀌면 뷰에서도 바뀌고, 뷰에서 바뀌면 변수값도 바뀜.
                       HTML controls (input, select, textarea)과 함께 쓰임.

5. 만약에 하나의 controller 안의 여러 태그에서 ng-init 통해서 변수에 값을 할당했으면
마지막에 할당한 녀석이 최종이 되어 참조하는 모든 변수의 값에 표시됨

6. <span ng-bind="varname"> asdfaf </span>
이렇게 했으면 변수  varname의 값이 저 span에 붙게 되며, asdfaf 는 없어짐.

7. <span ng-bind="varname"> 처럼,  {{varname}} 으로 변수 표시 가능.

7. var app = angular.module("myApp", []);
위에서 [] 는 dependency 모듈을 넣어줘서 myApp 이란 모듈을 만드는 것임.
위 코드에서는 별도 모듈 없이 만든다.

[] 없이
var app = angular.module("myApp");
는 기존에 만든 myApp 이란 모듈을 가지고 오는 것임.

8. np-repeat="x in names" 이 들어간 태그는 names 배열의 개수만큼 복사가 된다.

9. ng-model을 쓴경우, css에서 ng-invalid 같은 클래스 통해서 쉽게 효과를 줄 수 있다.

10. Service 란 Angular App 에 걸쳐 사용가능한 function, object 이다. 30개의 builtin 서비스가 존재.
      예를 들어, $location 은 absUrl() 의 함수를 가지고 있다.
      컨트롤러에서 쓰려면 컨트롤러을 만들 때, 함수 인자로 넣어준다.
      $http, $timeout


댓글 없음:

댓글 쓰기