Показать сообщение отдельно
  #478 (permalink)  
Старый 03.02.2014, 12:21
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus7
 
Регистрация: 08.01.2014
Сообщений: 354

как обращаться к внешнему контроллеру если внутри в таким же именем
короче я думаю вот на этом остановимся:

<div ui:controller="ParentList = List('parent')">

  <div ui:controller="List('child')">
    {name}            // child
    {List.name}       // child
    (ParentList.name) // parent
  </div>

</div>


function List( newName ) {
    name = newName
}



И вводим негласное правило, имена контроллеров должны быть с заглавной буквы. Тут нет такого что вот конструктор с заглавной а сам инстанс с маленькой, нет больше ни какого инстанса, контроллер разворачиваетя в текущий скоуп.

то есть вот контроллер

function List() {
    name = 'list'
}


и когда мы напишем так

<div ui:controller="List"></div>

то текущий скоуп у нас станет таким

var scope = {}
scope.name = 'list';
scope.List = scope;


--------
напишем так
<div ui:controller="Ololo = List"></div>


скоуп станет таким

var scope = {}
scope.name = 'list';
scope.List = scope;
scope.Ololo = scope;


короче все это типа ОПАСННО что перекроется ВНЕШНЕЕ бла бла бла, но это не так, с этим мы тоже поборимся

Последний раз редактировалось Maxmaxmaximus7, 03.02.2014 в 12:41.
Ответить с цитированием