Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Angular作为模板引擎_Javascript_Angularjs - Fatal编程技术网

Javascript 如何使用Angular作为模板引擎

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}}'); 变量

我想使用Angular作为模板引擎,然后我想将生成的HTML代码提供给另一个库

我有一个模板文件template.html:

<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-do
display: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)