Javascript 如何使用Angular作为模板引擎
我想使用Angular作为模板引擎,然后我想将生成的HTML代码提供给另一个库 我有一个模板文件template.html:Javascript 如何使用Angular作为模板引擎,javascript,angularjs,Javascript,Angularjs,我想使用Angular作为模板引擎,然后我想将生成的HTML代码提供给另一个库 我有一个模板文件template.html: <div><h1><span data-ng-show="details.rs">{{details.rs}}</span></h1></div> 有人知道我错过了什么吗 向您致意我想您需要$interpolate var exp=$interpolate({{details.rs}}'); 变量
<div><h1><span data-ng-show="details.rs">{{details.rs}}</span></h1></div>
有人知道我错过了什么吗
向您致意我想您需要
$interpolate
var exp=$interpolate({{details.rs}}');
变量上下文={
详情:{
rs:“嗨!”
}
};
var结果=exp(上下文);
console.log(结果)
谢谢!我快到了。{details.rs}}已被替换!但是,如果details.rs为空,则不会从dom中删除范围。如果,请尝试ng-if,ng-show-just-dodisplay:none
。如果有相同的行为,我不确定它是否会工作(现在无法测试)(它生成:[code][/code]为什么不使用任何JS模板引擎?我只需要对一小部分代码执行一次:/
<div><h1><span>Hi !</span></h1></div>
var getTemplate = function (templateName) {
var defer = $q.defer();
if ($templateCache.get(templateName)) {
defer.resolve($templateCache.get(templateName));
} else {
$http.get(templateName, {cache: $templateCache}).then(function (data) {
defer.resolve(data);
});
}
return defer.promise;
};
var prepareTemplate = function (templateName) {
var defer = $q.defer();
getTemplate(templateName).then(function (htmlTemplate) {
defer.resolve($compile(htmlTemplate));
});
return defer.promise;
};
var buildMarkerPopup = function (properties) {
var defer = $q.defer();
prepareTemplate('views/template.html').then(function (template) {
var scope = $scope.$new();
scope.details = properties;
$timeout(function () {
var htmlElement = template(scope);
$log.debug(htmlElement);
defer.resolve(htmlElement);
});
});
return defer.promise;
};
var exp = $interpolate('<div><h1><span data-ng-show="details.rs">{{details.rs}}</span></h1></div>');
var context = {
details: {
rs: 'Hi!'
}
};
var result = exp(context);
console.log(result)