2013-08-29 1 views
0

Я вижу странное поведение при использовании угловой директивы.Угловая директива не работает, если мы меняем имя

В коде ниже

HTML

<body ng-app="loadTweetsModule"> 
    <div tweets> Load </div> 
    <div loadTweets> loadTweets </div> 
</body> 

Javascript

var loadTweetsModule = angular.module("loadTweetsModule",[]); 


loadTweetsModule.directive('tweets',function(){ 
    return { 
     link : function(scope,element){ 
      element.bind("mouseenter", function(){ 
       console.log("tweets"); 
      }); 
     } 
    }; 
}); 

loadTweetsModule.directive('loadTweets',function(){ 
    return { 
     link : function(scope,element){ 
      element.bind("mouseenter", function(){ 
       console.log("loadTweets"); 
      }); 
     } 
    }; 
}); 

JSFiddle Link

Две директивы loadTweets и tweets одинаковы кроме названия. Директива tweets работает должным образом, но loadTweets не работает. Я не могу узнать причину такого поведения. Может ли кто-нибудь объяснить это?

ответ

2

, если вы пишете в JS loadTweets вы должны писать в HTML load-tweets

из http://docs.angularjs.org/guide/directive

директив верблюжьих обсаженных имена, такие как ngBind. Директива может быть , вызванная переводом имени случая верблюда в случай змеи с этими специальными символами:, -, или _. При желании директива может быть с префиксом x- или data-, чтобы сделать ее совместимой с HTML-валидатором. Здесь - это список некоторых возможных имен директив: ng: bind, ng-bind, ng_bind, x-ng-bind и data-ng-bind.

+0

Теперь я помню, как читал об этом, и это просто не ударило меня, хотя мы делаем это для другой директивы. Благодаря! – Manoj

Смежные вопросы