转换未注入链接函数

时间:2015-07-01 08:02:30

标签: javascript angularjs angularjs-directive angularjs-ng-transclude

这是我的代码

'use strict';
angular.module('app')
    .directive('item'
            , ["$timeout"
            , "$Service"
            , function(
                $timeout
                , $utils) {
    return {
        restrict: 'A',
        scope: {
            item: '=',
        },
        transclude: true,
        link: function(scope, element, attrs, ctrl, transclude){
        },
        templateUrl: $fsUtils.getRelativeUrl('templates/item.html'),
        controller: 'ItemCtrl', 
    };
}]);

我的index.html:

<item><div>Transcluded content.</div></item>

transclude变量为undefined,ctrl变量为proto__: Object。 我需要将父范围注入transcluded范围。 transclude变量未定义。我哪里错了。

我的角度版本是1.1.5

感谢。

1 个答案:

答案 0 :(得分:0)

您正在寻找的是transcludeFn。试试这个:

transclude: true,
transcludeFn: function () { /*do your stuff here*/ },
...
link: function(scope, element, attrs, controller, transcludeFn)

要在链接功能中访问控制器,您可以执行以下操作:

var controller = scope.controller;