Я нашел здесь большую директиву деревьев. Оригинал: http://jsfiddle.net/n8dPm/
Я пытаюсь понять его функционирование через пару других вопросов SO, 1, 2. Я не мог понять, как работают рекурсивные вызовы рендеринга директивы tree. Главным образом функция компиляции
- Когда вся функция компиляции называется?
- Когда функция $compile кэшируется в varibale
compiledContents
(это функция ссылки?) и когда она добавляется? Почему он не прилагается всегда?
-
compile: function(tElement, tAttr) {
var contents = tElement.contents().remove();
var compiledContents;
return function(scope, iElement, iAttr) {
if(!compiledContents) {
compiledContents = $compile(contents);
}
compiledContents(scope, function(clone, scope) {
iElement.append(clone);
});
};
},