问题如下,
$scope.name = "Maximilian";
var template = "<div><span>{{name}}</span></div>";
var content = $compile(template)($scope);
console.info(content); //shows compiled innerText
$scope.outputContainer = content[0].innerText; // shows uncompiled Content
我做错了什么?
答案 0 :(得分:0)
一种可能的解决方案是将其置于0秒$ timeout-function中。 如果有更好的,请告诉我。
$timeout(function(){
$scope.outputContainer = content[0].innerHTML;
});
答案 1 :(得分:0)
我认为您正在寻找评估内容。
你的控制器看起来像这样。
function TodoCtrl($scope) {
$scope.name = "Maximilian";
var template = "<div><span>"+$scope.$eval("name")+"</span></div>";
$scope.outputContainer = template;
}
就个人而言,我会创建一个指令,并使用transclude函数作为html片段。
我已更新您的js fiddle