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

AngularJs: Cannot call function linked by a directive in child module?

本文关键字:指令 链接 函数 模块 调用 AngularJs      更新时间:2023-09-26

我的程序无法调用由我的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"链接的函数不会被调用。有人能给我一些建议吗?

谢谢,

问题在于如何声明指令。

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

更改

<a myDirective > Hello World </a>

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

DEMO