指令:在templateUrl函数中获取attr scope-value

时间:2014-04-07 11:47:33

标签: angularjs angularjs-directive angularjs-scope angularjs-ng-repeat

这是我想建立的指令:

module.directive('templater', function () {
return {
    restrict: 'A',
    replace: true,
    templateUrl: function (element, attrs) {
        return attrs.templater;
    }
};
});

但是,正如您所知,在此HTML中:

<div 
    ng-repeat="item in items" 
    templater="item.template">
</div>

访问attrs.templater只需提供item.template而不是实际的模板网址字符串。

如何在不进入链接功能的情况下访问attrs.templater内的数据? 我想利用templateUrl函数的简单性,同时避免链接函数中的重排开销。

1 个答案:

答案 0 :(得分:0)

已编辑:我原来的假设是错误的。

由于item.template仅在范围的上下文中有意义,并且因为模板提取/编译发生在没有关于范围的信息的时间点,所以似乎不是一种方式在链接阶段之前获取模板。