[英]How do I create a DOM in function of an angular-js variable?
我有一个函数renderFOO(value)
,它返回一个DOM元素。 如何通过模型中的变量功能在AngularJS应用程序中呈现该元素?
我设法使用指令解决了它:
<input type="range" ng-model="foo">
<foo></foo>
app.directive("foo", function(){
return {
restrict: "E",
link : function(scope, elem, attr){
scope.$watch("foo",function(periodo){
elem[0].innerHTML = "";
elem[0].appendChild(renderFOO(foo));
});
}}
});
但是我认为这很大,可能不是惯用的,解决方案将是这样的:
<input type="range" ng-model="foo">
<div>{{renderFOO(foo)}}</div>
哪个不起作用。
如果我理解正确,那么您应该能够在ngSanitize模块中利用ngBindHtml-提供将DOM元素绑定到某个值的功能。 观察下面的简化示例...
<button ng-click="renderFoo()">render</button>
<div ng-bind-html="foo"></div>
$scope.renderFoo = function() {
$scope.foo = '<span class="example">stuff</span>'
}
JSFiddle Link-简化的演示
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.