2016-04-05 13 views
0

使用angular来构建Web应用程序。由于我需要一个可编辑的表,我决定使用angular-xeditable。我遇到了以下问题。在angular-editable中使用函数来返回html而不是字符串

在我的控制器我有一个功能:

function xyz(param){ 
    return "<span>"+param+"</span>"; 
} 

在其中包含了函数被调用一个编辑字段里面的表格和表格的HTML视图文件:

<td> 
    <span editable-select="test.element" e-name="element" e-ng-click="onElementChange()" e-form="tableform" e-multiple e-ng-options="element.id as element.name for element in elements"> 
     {{ xyz(param) }} 
    </span> 
</td> 

如果我用它像这样,不幸的是在表格中没有插入span,而是包含html代码的文本:“paramvalue”

什么事情出错了。我错过了什么吗?我是否需要以任何方式对返回值进行解码/解码?没有找到任何可能的解决方案。

感谢您的帮助。

回答

1

您应该改为使用angular指令“ng-bind-html”将字符串插入/绑定到HTML。 Angular为此提供了指示。看到这个:https://docs.angularjs.org/api/ngSanitize/service/ $ sanitize

<div ng-bind-html="xyz(param)"></div> 

假设函数xyz在控制器范围上可用。

+0

应该发现,在我自己..你做了我的一天。谢谢你 –

+0

我很高兴它帮助你。如果这是你的问题的答案,那么接受它作为答案,以便它也可以帮助其他人。 – Zaslam