javascript – 通过promise加载angular 1.5组件模板

前端之家收集整理的这篇文章主要介绍了javascript – 通过promise加载angular 1.5组件模板前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在Angular 1.5中,我想通过自定义承诺加载模板.
我想要运行的示例代码

var module = angular.module("myApp",[]);
module.component("component",{
template: ["$q",function ($q) {

    var defer = $q.defer();

    setTimeout(function () {
        defer.resolve("

我想这样做的原因是从代理iframe加载模板.

如果有任何方法可以为我的自定义模板解析器提供足够的功能.

最佳答案
我通过使用装饰器替换角度为$templateRequestService来解决问题.

请参阅下面的代码示例:

module.config(["$provide",function ($provide) {

$provide.decorator("$templateRequest",[
    "$delegate","$q",// DI specifications
    function ($delegate,$q) {

        // replace the delegate function 
        $delegate = function (tpl) {
            var defer = $q.defer();
            // convert the tpl from trustedvaluetoken to string
            if (typeof (tpl) !== "string" || !!$templateCache.get(tpl)) {
                tpl = $sce.getTrustedResourceUrl(tpl);
            }
            // make proxy call and resolve the promise;

            // Make an async call
            return defer.promise;
        }
        // return the modified delegate function
        return $delegate;
    }]);

}]);
原文链接:https://www.f2er.com/js/429035.html

猜你在找的JavaScript相关文章