Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Так же как «ява-скрипт» это Ваше «ангуляр» звучит корявенько, если до этого слышал в основном англоязычное произношение.
Документация <ваша-любимая-MV*-библиотека> отлично подходит для начала работы и ковыряния в API. Однако, она не объясняет как организовать и управлять приложением, когда оно разрастется до десятков или сотен тысяч строк кода.
digest
a compilation or summary of material or information
compilation of information |+ in cycle
Processes all of the watchers of the current scope and its children. Because a watcher's listener can change the model, the $digest() keeps calling the watchers until no more listeners are firing. This means that it is possible to get into an infinite loop. This function will throw 'Maximum iteration limit exceeded.' if the number of iterations exceeds 10.
'use strict';
angular.module('app.api.entities.user', ['app.api.rest.user'])
.factory('User', function($q, UserApi) {
var cache = {};
var initObject = function(data) {
if (cache[data.id]) {
angular.extend(cache[data.id], new User(data));
} else {
cache[data.id] = new User(data);
}
return cache[data.id];
};
var User = function(data) {
angular.extend(this, data);
};
User.get = function(id){
var apiResult = UserApi.get(id).then(function (test) {
return initObject(test);
});
if (cache[id]) {
return $q.when(cache[id]);
} else {
return apiResult;
}
};
User.getAll = function(options){
return UserApi.getAll(options).then(function(tests){
return _.map(tests, function(test){ return initObject(test); });
});
};
User.create = function(params){
return UserApi.create(params);
};
User.prototype.remove = function(){
return UserApi.remove(this.id);
};
return User;
});
$scope.$watch(function(){
return SomeService.something
}, function(newVal, oldVal){
}, true);
Этот раздел документации я видел, я про то, что это делается через $scope, а не через сам объект myObject.bind(...).
Получается, что как я и предлагал AngularJS не предлагает конкретных инструментов для описания моделей и коллекций
С $resource ситуация интересная
Я не очень понял, а зачем они Вам?
Не рекомендую использовать RequireJS с Ангуляром. Хотя это, конечно, возможно, я не видел ни одного случая, когда применение RequireJS было бы выгодно на практике.
Создание огроооомных приложений на AngularJS