5

这是我的代码

'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。我需要将父范围注入到嵌入范围中。transclude 变量未定义。我哪里错了。

我的角度版本是 1.1.5

谢谢。

4

1 回答 1

0

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

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

要在链接功能中访问控制器,您可以这样做:

var controller = scope.controller;
于 2015-07-01T08:22:18.193 回答