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

时间:2015-05-31 17:43:33

标签: 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>

我创建了一个jsFiddle。

http://jsfiddle.net/alaksandarjesus/upzayfv1/8/

on on指令不是在我的jsfiddle中调用的,而是数据&#34;我来自指令&#34;正在我的localhost中显示。通过运行jsfiddle,您可以更好地了解我的请求。

3 个答案:

答案 0 :(得分:2)

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

childStruct *cs1 = reinterpret_cast<childStruct1>(&structVal) ;

答案 1 :(得分:2)

我不会将服务注入您的指令。让控制器决定指令的数据将更加灵活。以下是我的更改。

查看:

<my-days weeks="daysListWeeks"></my-days>

控制器:

myapp.controller("daysController",function($scope,daysList){

    $scope.test = "I am from controller";
    $scope.daysListWeeks = daysList.weeks();
    console.log(daysList.weeks());
});

指令:

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

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

});

答案 2 :(得分:1)

这里你的指令版本看起来像这样,你可以通过在你的指令函数中添加daysList来访问指令内的服务。然后从指令link功能&amp ;;访问服务功能。设置scope

中的值

<强>指令

 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;
        }
    }
});

JSFiddle