Angular + RequireJs:解析指令的templateUrls

时间:2016-03-15 07:17:00

标签: javascript angularjs requirejs angular-directive

我在我的水疗中心使用angularjs和requirejs。对于进口组织等我使用require。在requirejs我可以使用例如baseUrl:使用baseUrl解析每个导入路径。现在我想以同样的方式解决templateUrls。因此我可以使用例如:

templateUrl = requirejs.toUrl("modules/test/chuck.directive.html")

我想以这种方式解决每个指令的每个templateUrl的问题。

那么:是否有可能以角度跳转到指令的模板加载过程并运行上面的代码?

感谢任何提示。

1 个答案:

答案 0 :(得分:1)

如果您确定要拦截所有模板加载请求并修改模板URL,我会修饰$templateRequest服务。像这样:

.config(function($provide) {
    $provide.decorator('$templateRequest', function($delegate) {
        return function(tpl, ignoreRequestError) {
            tpl = requirejs.toUrl(tpl); // modify original tpl
            return $delegate.call(this, tpl, ignoreRequestError);
        };
    });
})