有以下方式在AngularJS中动态添加HTML
var template = '<div>{{value}}</div>';
var element = angular.element(template);
placeholder.replaceWith(element);
$compile(element)($scope);
是否有可能从templateURL执行相同的操作或单独加载模板?(使用标准机制,以便将其缓存在$ templateCache中)
发布于 2018-04-08 15:52:46
当然,只需使用$http
服务来获取模板,然后手动编译并插入它。$http
服务将隐式地处理缓存。
PLUNKER
(最简单)指令:
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));
});
}
};
}
]);
视图:
<span message="Hi World!"></span>
<span message="My name is Angular."></span>
指令模板(template.html
):
<span>{{message}}</span>
https://stackoverflow.com/questions/-100004362
复制相似问题