| 
	
		
 Вопросы по ангуляру 
		
		
		
		Щас ковыряю ангуляр, и думаю что текущий вопрос это не последний, поэтому создам отдельную тему, и буду тут спамить ангуляром. 
	что я делаю не так? Почему не обрабатывается click ? 
var static = angular.module("staticPage", []);
    static.directive("showPage", function () {
        return function ($scope, element) {
            element.bind("click", function () {
                console.log("click")
            });
        };
    });
<body ng-app="staticPage">
<div class="body"  ng-controller="MainCtrl">
        <div class="menu-wrap" >
            <ul class="menu" ng-repeat="item in menu">
                <li showPage> <a href="#{{item}}"> {{item}} </a> </li>
            </ul>
        </div>
<!-- .... -->
Нашел ошибку, не работает из за того что буква "P" в верхнем регистре , а атрибуты в нижнем регистре, toLowerCase - не не слышал...  | 
	
		
 хватит срать в оффтоп http://javascript.ru/forum/angular/ 
	 | 
	
		
 и вообще в линкинг функцию передается не $scope а scope 
	а вообще директивы пишутся с префиксами, ты должен писать <li ng-showPage> <a href="#{{item}}"> {{item}} </a> </li>  | 
	
		
 Maxmaxmaximus6, спс учту) 
	 | 
	
		
 а терь сравни ui версию) 
	
ui.directive("showPage", function () {
    return function (scope, element) {
        element.on("click", function () {  console.log("click")  });
    };
});
<div controller="Main" class="menu-wrap" >
        <ul repeat="item in menu" class="menu">
            <li showPage>
                 <a href="#{item}">{item}</a>
             </li>
        </ul>
</div>
 | 
	
		
 А вообще правильнее и красивее писать (в ui) вот так: 
	
<div controller="Main as main" class="menu-wrap" >
        <ul repeat="menuItem in main.menu" class="menu">
            <li showPage>
                 <a href="#{menuItem.hash}" bind="menuItem.text"></a>
             </li>
        </ul>
</div>
function Main (){
   menu = [
       {text: 'home page', hash: 'home'},
       {text: 'last news', hash: 'news'}
   ]
}
 | 
	
		
 Maxmaxmaximus6, норм, но мне не особо важен синтаксический сахар, это не конечно + , но главное что бы работало как мне нужно) 
	 | 
	
		
 Да и вообще если хочешь глобальные значения у меня запилить то не обязательно контроллер пилить) 
	
ui.global{
   menu: [
       {text: 'home page', hash: 'home'},
       {text: 'last news', hash: 'news'}
   ]
}
ui это модуль от которого можно отнаследовать новые модули если хочешь ui.module('name') создаст модуль, если такой модуль уже создан то вернет его =) Цитата: 
	
  | 
	
		
 Цитата: 
	
 
function getHash(elem) {
 return elem.hash || elem;
}
<li showPage>
   <a href="#{getHash(item)}" bind="item.text"></a> <!-- я еще не совсем разобрался в синтаксисе ангуляра но вроде так можно?! -->
</li>
 | 
	
		
 cyber,а вообще директиву шоу пейдж делать не надо, ты должен создать директиву сменьщика страниц и применить её к контейнеру страниц, и заставить её слушать изменения хэша) это к  слову так. 
	типа 
<ul>
    <li><a href='#home'>Главная</a></li>
    <li><a href='#news'>Новости</a></li>
</ul>
<ul pageContainer>
    <li page='home'>содержимое</li>
    <li page='news'>содержимое</li>
</ul>
pageContainer и page 2 взаимосвязанные директивы). Директива pageContainer слушает изменения хэша и показывает ту или иную директиву page в зависимости от значечния. но И ЭТО не правильный вариант, так как для этих целей в ангуляре есть роутер)) Цитата: 
	
  | 
| Часовой пояс GMT +3, время: 11:36. | 
		
  |