在Angular指令中调用模板之前调用函数?

时间:2016-11-02 15:17:14

标签: angularjs

我想调用一个函数传递下面的一个范围变量,但是我收到了错误:

  

ReferenceError:未定义activityLog

只是想知道我在这里尝试做什么是可能的?我的函数被称为OK,但我希望能够将范围变量传递给它。

function (angular, jQuery, oModule) {
    'use strict';

    oModule.directive('myDirective', function () {
        return {
            restrict: 'E',
            scope: {
                activityLog: '@',
            },
            // Why can't I pass activityLog here?
            // ReferenceError: activityLog is not defined
            template: generateDetails(activityLog)
        };
    });

    function generateDetails(oActivityLog) {

    }

1 个答案:

答案 0 :(得分:1)

您应该在链接功能中获得activityLog范围。模板是为了你有html模板,如果有。

function (angular, jQuery, oModule) {
    'use strict';

    oModule.directive('myDirective', function () {
        return {
            restrict: 'E',
            scope: {
                activityLog: '@',
            },
            link:function(scope, element, attr) {
                generateDetails(scope.activityLog);
            },
            template: '<div>123</div>' //html template here if needed
        };
    });

    function generateDetails(oActivityLog) {

    }
}