Javascript ng bind html将数据呈现为html,但忽略子元素
我正在开发这个函数,该函数根据用户输入生成HTML,我可以使用ng bind as HTML在列表项中(而不是字符串版本)将其呈现为正确的HTML 唯一的问题是它不会呈现同时也是li标记中的子元素的span标记。我是一个棱角分明的n00b,可以利用你的任何洞察力 下面的代码允许我将函数输出为正确的HTML,这很好,但是我需要显示span标记,因为它允许我的用户复制文本的内容 基本上,我可以在不使用绑定html的情况下进行重写,并适当地呈现span,也可以在呈现html输出时不获取span标记。我只能选择其中一个,而不是两个。。。我两者都想要。经典 谢谢你的帮助Javascript ng bind html将数据呈现为html,但忽略子元素,javascript,html,css,angularjs,ng-bind-html,Javascript,Html,Css,Angularjs,Ng Bind Html,我正在开发这个函数,该函数根据用户输入生成HTML,我可以使用ng bind as HTML在列表项中(而不是字符串版本)将其呈现为正确的HTML 唯一的问题是它不会呈现同时也是li标记中的子元素的span标记。我是一个棱角分明的n00b,可以利用你的任何洞察力 下面的代码允许我将函数输出为正确的HTML,这很好,但是我需要显示span标记,因为它允许我的用户复制文本的内容 基本上,我可以在不使用绑定html的情况下进行重写,并适当地呈现span,也可以在呈现html输出时不获取span标记。我
<li
class="entry"
ng-repeat="entry in output track by $index"
ng-mouseenter="onEnter()"
ng-bind-html="entry">
{{entry}}
<span
class="copy"
ng-click="copyData(entry)"
ng-mouseenter="onEnter()">
{{message}}
</span>
</li>
{{entry}}
{{message}}
您可以创建一个自定义的指令
来实现这一点,方法是使用transclude
和ng transclude
,如下所示
var-app=angular.module('app',[]);
app.controller('TestController',['$scope',函数($scope){
$scope.message='不客气!';
$scope.output=['Hello user'];
}]);
app.directive('bindHtml',['$sce',function($sce){
返回{
限制:“A”,
是的,
模板:“”,
链接:函数(范围、元素、属性){
scope.html=$sce.trustAsHtml(scope.eval(attrs.bindHtml));
}
};
}]);
引导(文档,['app'])代码>
{{message}}
还没有看到下面的答案吗?