AngularJs:无法调用子模块中指令链接的函数?

时间:2015-03-02 23:49:35

标签: javascript angularjs

我的程序无法调用我的angulrJS指令链接的函数。以下是我的代码:

“的index.html”

 <script src="parent.js"></script>
 <script src="child.js"></script>

“parent.html”

  <div ng-include="'child.html'"></div>

“parent.js”

angular.module('parent-app', [
  'child-app'
])
 .config(function ($stateProvider) {
  $stateProvider
 .state('parent', {
    url: '/',
    templateUrl: 'parent.html',
    controller: 'parentCtrl'
  })
 ;
})
.controller('parentCtrl',function ($scope) {
 });

“child.html”

<div ng-controller="childCtrl">
   <a myDirective > Hello World </a>
<div>

“child.js”(这是一个子模块)

angular.module('child-app', [])
 .controller('childCtrl', function ($scope) {
})

 .directive('myDirective', function() {
 return {
   restrict : 'A',
   link : function($scope, $element) {
     $element.hover(function(){
        alert('get called');

      },
       function(){
      });

   }
 };
 });

当我将鼠标移动到“Hello World”时,“myDirective”链接的功能不会被调用。 谁能给我一些建议?

谢谢,

1 个答案:

答案 0 :(得分:2)

您的问题在于如何声明您的指令。

当您使用camelCase命名指令时,它将引用连字符属性。

更改

<a myDirective > Hello World </a>

<a my-directive > Hello World </a>

DEMO