我正在为学生创建应用程序,用户可以在其中选择文本并突出显示文本,现在我正在做的是将所选文本保存在服务器上以具有持久性标记,在文档的每个段落中是一个块,每个块都有一个id,这样我就可以知道选择的位置,当我从服务器返回标记时,我得到每个文档的标记列表,我使用选择的开始和结束知道我需要将标记放在文本中的哪个位置,当我将标记放置一个用途时我会创建一个这样的字符串:
const markerText = `<mark class="${marker.color}"
data-marker-id="${marker.id}">${textSelected}</mark>`;
并且我替换了原始文本中的那个,但由于某些原因,当替换文本时,只有标记标记的class
属性出现在html中,由于某种原因,data-marker-id
它没有'T。
我的活动尝试使用[attr.data-marker.id]="${marker.id}"
因为段落(文本块)来自带有html标记的服务器,我将html标签作为字符串获取块的内容,所以我正在使用
<p [innerHTML]="block.text"></p>
任何想法为什么......?
答案 0 :(得分:1)
我认为有角度的团队在Angular(2+)中删除了$ compile函数。仍然可以加载远程html字符串并将它们放在[innerHTML]中,但这就是全部。从远程HTML插入数据没有本地或简单的方法。
看这篇文章: https://medium.com/lacolaco-blog/forget-compile-in-angular-2-a2893d8291b1