首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AngularJS $如何从templateURL编译HTML?

AngularJS $如何从templateURL编译HTML?
EN

Stack Overflow用户
提问于 2018-04-08 06:31:14
回答 1查看 0关注 0票数 0

有以下方式在AngularJS中动态添加HTML

代码语言:javascript
复制
   var template = '<div>{{value}}</div>';
   var element = angular.element(template);
   placeholder.replaceWith(element);
   $compile(element)($scope);

是否有可能从templateURL执行相同的操作或单独加载模板?(使用标准机制,以便将其缓存在$ templateCache中)

EN

回答 1

Stack Overflow用户

发布于 2018-04-08 15:52:46

当然,只需使用$http服务来获取模板,然后手动编译并插入它。$http服务将隐式地处理缓存。

PLUNKER

(最简单)指令:

代码语言:javascript
复制
app.directive('message', [
  '$http',
  '$compile',
  function($http, $compile) {
    var tpl = "template.html";

    return {
      scope: true,
      link: function(scope, element, attrs){
        scope.message = attrs.message;

        $http.get(tpl)
          .then(function(response){
            element.html($compile(response.data)(scope));
          });
      }
    };

  }
]);

视图:

代码语言:javascript
复制
<span message="Hi World!"></span>
<span message="My name is Angular."></span>

指令模板(template.html):

代码语言:javascript
复制
<span>{{message}}</span>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档