2016-01-07 34 views
0

我正在研究一个运行在Angular之上的相对较小的门户网站。我仍然是一个角度新手,虽然我已经设法围绕更重要的概念。AngularJS Widget/Plugin via Directive

无论如何,我正在为GitHub数据检索创建一个小插件/插件。这是我的代码,

NG-github.js

(function() { 

    angular.module('ng-github', []) 
    .run(function() { 
     console.log('module instantiated'); 
    }) 
    .directive('git-user', function($http) { 
     return function(scope, element, attr) { 
     console.log('invoked'); 
     $http.get('https://api.github.com/users/' + attr['gitUser']) 
      .success(function(data) { 
      scope.gUser = data; 
      }) 
      .error(function(data, status) { 
      console.error('Github User Request Error', status, data); 
      }) 
     }; 
    }) 

})(); 

view.html

...

<span gitUser="neetVeritas" ng-bind="gUser.following"></span> 

...

模块被实例化,因为我得到.run(...)函数的响应,但d irective的链接函数没有被调用。我已经在我的主应用程序中包含了ng-github模块,并且我没有收到任何与angular-js相关的错误,所以我被困在这里。有任何想法吗?

+1

您的混合的名称的壳体:做'模块(...)指令( 'gitUser',...)'和使用它作为'<跨度GIT-用户= “...”>。 '。 I.e .:代码中的指令定义:camelCase,HTML中的指令用法:破折号。 –

+0

完美,谢谢! –

回答

2

在我看来,如果你有指令的命名向后。不应该在命令声明中使用camelcase(即gitUser)并且在html中使用连字符?