angular_15.10.2016

by Anastasia Sharko

HTML

<!--двусторонний дата биндинг 
- воз-сть связывания переменных между кодом контроллера и вьюшкой;
в angular2.0 оставили односторонний, только на 1 уровень ниже;
angular1 проверял по всем направлениям;
реализован директивой ng-model;
ng-model - умеет определять переменную, которую сама в последствии может и вывести
осн.+ - не нужен контроллер зачастую,
пишется как класс ng-model: <div ng-model="var"></div>
если называется myName, а вызывать будем my-name;*/
/*его нужно заинициализировать:
angular.model("Name", [""])
1-инициализация приложения: angular.model;
2-первым параметром передается название приложения:
3-вторым - массив строк - те ф-ции или модули, которые нужны для приложения, ng-rade (подключаются строками)
При помощи имени м.заставить работать прилож.на нашей страницы, глобально делается...не важно на какой тег подключим, но по умолчанию к html-тегу, т.к. он всеобъемлющий: <html ng-app="Name"></html>, только после такого подкл-ия будет работать angular.
это генерирует webStorm нам.
--обычно переписываем, то что делает webStorm:
var app = angular.module;
app.config
app.[]
присваиваем переменной и весь модуль теперь принадлежит ей.*/
/*подключение надо: <script src=""> локальное
//Контроллеры
/*-сила ангуляра, сущность, которая содержит в себе всю бизнес-логику проекта, все что надо сделать, кроме запросов на сервер (post, get...)
передается 2 пар-ра:
-имя контроллера
-ф-ция
var app;
app = angular.module("myApp");
app.controller("firstController", function($scope){...});
как скрипт подключается
<div ng-controller=""></div> scope контроллера в рамках div
создать переменные надо в контроллере
у контроллеров наследуются scope, следовательно м.б. вложенными контроллеры, т.е. внутрь одного могу положить что-то что будет зависить от другого контроллера
наследование:
если внутри второго контроллера б.написано выражение отсутсвующее в скоупе второго контроллера, ангуляр б.искать соответсв.выражение во всех родительских скупах и вызовет то, которое найдет...

JavaScript

//Singleton - чтобы не нагружать данными, на клиенте...
//пример:
/*var Singleton = (function(){
	var instance;
  function in(){
  	var getN = Math.random();
    }
   return {
   //объект getNum
   getNum:function(){return getN}
   }
    return {
    	getInst:function(){
      	if(!instance){
        	instance = in();
        }
        return instance;
      }
    }
});*/