AngularJS - 如何在Directives中添加javascript依赖?

时间:2014-11-13 08:55:40

标签: angularjs angularjs-directive

我已经创建了一个指令,当我调用那些指令时,我需要先加载我的JS。反正将Javascript直接注入angularjs的指令吗?

这是代码。

var directive = module.exports = function($ rootScope,$ location,service,user){     返回{         限制:' E',         link:function(){             $ rootScope。$ on(' $ routeChangeSuccess',function(event,current){                 var path = $ location.path();                 var pageName = current。$$ route.title?当前。$$ route.title:path;                 if(!current.redirectTo){                     user.then(function(userInfo){                     service.method(pageName,{                         marketName:userInfo.marketName,                         accountName:userInfo.name,                         clientServices:userInfo.isClientServices(),                         userType:userInfo.type                         });                     });                 }             });         }     }; };

指令。$ inject = [' $ rootScope',' $ location',' service',' user'];

请做好。

1 个答案:

答案 0 :(得分:0)

我认为你不能将directive与js代码捆绑在一起(比如web组件),js必须包含在指令之外。但是,您可以使用angularjs依赖注入将包含的角度服务注入到您的指令中:

app.factory('myDependency', function() {
  var myDependencyInstance;
  return myDependencyInstance;
});

app.directive('directive', ['myDependency', function(myDependency) {
     return {
      restrict: 'E',
      templateUrl: 'my-customer.html'
    };
}])

但我猜它不是你想要的。您可以将js捆绑到指令的模板中,但每次添加指令时都会复制js代码,这可能只适用于非角度js代码。