javascript - Transclude 未注入(inject)链接函数

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

我的angular版本是1.1.5

谢谢。

最佳答案

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

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

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

var controller = scope.controller;

关于javascript - Transclude 未注入(inject)链接函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31155744/

相关文章:

javascript - 用于编辑目的的 HTML 文件在 wordpress 中的位置

dom - 如何从 Angular 指令订阅以接收调整大小事件的通知?

javascript - Angular : How to handle two-part directive

javascript - angularjs-nvd3-directives 与 angular-nvd3 之间的区别

javascript - 基于一个值对一组输入使用 ng-disabled

php - 使用 javascript 为 1 台以上打印机进行打印

javascript - Ramda,数组相等而不考虑顺序

javascript - 从本地主机或外部服务器将文件上传到 Google Cloud Storage

angularjs - 具有属性的函数的 TypeScript 接口(interface)

javascript - 使用 Angular JS 查看模型验证?