在 AngularJS 中将 HTML 字符串作为指令属性传递是个好主意吗?像这样:
<tile data-content="<b>Some text</b>"></tile>
这只是一个例子,字符串实际上会更长更复杂。我正在创建 tile 指令,该指令在单击时显示带有其他内容的模式窗口。我知道它和其他字符串一样,但在我看来,有更好的方法。
在 AngularJS 中将 HTML 字符串作为指令属性传递是个好主意吗?像这样:
<tile data-content="<b>Some text</b>"></tile>
这只是一个例子,字符串实际上会更长更复杂。我正在创建 tile 指令,该指令在单击时显示带有其他内容的模式窗口。我知道它和其他字符串一样,但在我看来,有更好的方法。
我建议你看看transclusion。有了它,你可以这样做:
<tile>
<b>Some text</b>
</tile>
我会说这是最合适的
否则,如果内容是动态的,我会将其放入模型中并将其传递给指令。如果没有,那么我将传递一个部分 html 文件的标识符,该文件将使用$http服务下载和插入。
如果您的模板当前显示为:
<span>{{dataContent}}</span>
将其更改为:
<span ng-bind-html-unsafe="dataContent"></span>
这是一个小提琴 FIDDLE来演示