Javascript 将服务值直接调用到指令中

Javascript 将服务值直接调用到指令中,javascript,angularjs,angularjs-directive,angularjs-service,Javascript,Angularjs,Angularjs Directive,Angularjs Service,我需要调用指令,该指令将使用服务数据中的ng repeat填充数据 所需的输出将是 <ul>Days <li>Monday</li> <li>Tuesday</li> ... <ul> <ul>Month <li>January</li> <li>February</li> ... <ul> 天 星期一 星期二 ... 月 一月 二月 ... 我

我需要调用指令,该指令将使用服务数据中的ng repeat填充数据

所需的输出将是

<ul>Days
<li>Monday</li>
<li>Tuesday</li>
...
<ul>
<ul>Month
<li>January</li>
<li>February</li>
...
<ul>
  • 星期一
  • 星期二
  • ...
      • 一月
      • 二月
      • ...
我创建了一个JSFIDLE


在我的JSFIDLE中不调用指令,但数据“我来自指令”显示在我的本地主机中。通过运行JSFIDLE,您可以更好地查看我的请求。

您应该尝试将指令限制为“Element”:


您应该尝试将指令限制为“元素”:


我不会将服务注入到您的指令中。让控制器决定指令的数据是什么要灵活得多。这是我的零钱

视图:

指令:

myapp.directive("myDays",function(){

    return {
        restrict: 'E',
        scope: { weeks: '='},
        template:"<ul><li ng-repeat='m in weeks'>{{m}}</li></ul>"
    }

});
myapp.directive(“myDays”,function()){
返回{
限制:'E',
作用域:{weeks:'='},
模板:“
  • {{m}
” } });
我不会将服务注入到您的指令中。让控制器决定指令的数据是什么要灵活得多。这是我的零钱

视图:

指令:

myapp.directive("myDays",function(){

    return {
        restrict: 'E',
        scope: { weeks: '='},
        template:"<ul><li ng-repeat='m in weeks'>{{m}}</li></ul>"
    }

});
myapp.directive(“myDays”,function()){
返回{
限制:'E',
作用域:{weeks:'='},
模板:“
  • {{m}
” } });
您的指令版本如下所示,只需在指令函数中添加
daysList
即可访问指令中的服务。然后从指令
链接访问服务功能
功能并在
范围中设置值

指令

 myapp.directive("myDays",function(daysList){
    return {
        restrict: 'E',
        template:'<div ng-repeat="day in daysList">{{day}}</div>',
        link: function(scope, element, attrs){
            console.log(daysList)
           scope.daysList = daysList.weeks().days;
        }
    }
});
myapp.directive(“myDays”,函数(daysList){
返回{
限制:'E',
模板:“{day}}”,
链接:函数(范围、元素、属性){
console.log(daysList)
scope.daysList=daysList.weeks().days;
}
}
});

您的指令版本如下所示,只需在指令函数中添加
daysList
,即可访问指令中的服务。然后从指令
链接访问服务功能
功能并在
范围中设置值

指令

 myapp.directive("myDays",function(daysList){
    return {
        restrict: 'E',
        template:'<div ng-repeat="day in daysList">{{day}}</div>',
        link: function(scope, element, attrs){
            console.log(daysList)
           scope.daysList = daysList.weeks().days;
        }
    }
});
myapp.directive(“myDays”,函数(daysList){
返回{
限制:'E',
模板:“{day}}”,
链接:函数(范围、元素、属性){
console.log(daysList)
scope.daysList=daysList.weeks().days;
}
}
});

或者,你可以做与它相反的事情。但我的问题是如何向指令显示服务数据。或者,您可以执行相反的操作。但我的问题是如何向指令显示服务数据。我明天将尝试此操作并向您发送邮件。我明天将尝试此操作并向您发送邮件
 myapp.directive("myDays",function(daysList){
    return {
        restrict: 'E',
        template:'<div ng-repeat="day in daysList">{{day}}</div>',
        link: function(scope, element, attrs){
            console.log(daysList)
           scope.daysList = daysList.weeks().days;
        }
    }
});