【问题标题】:How do I create link tag using interpolation in Angular 2 / Ionic 2如何在 Angular 2 / Ionic 2 中使用插值创建链接标签
【发布时间】:2017-09-21 04:45:54
【问题描述】:

我目前正在使用 Ionic 2/Angular 2 制作应用程序,但遇到了一个我无法完全解决的障碍。

为了提供一些见解,我从 Web 服务中获取了一堆字符串,其中一些字符串可能类似于以下示例:

"这是一个带有链接的字符串:http://www.somelink.com"

我已经设置了一个正则表达式来查找字符串中的链接(如果有的话)并将它们转换为标签,如下所示:

"This is a string with a link: 
<a href="the link from above">the link from above</a>"

我想把这个带有标签的字符串放到下面的html中:

<ion-item-sliding *ngFor="let item of wishes">
    <div ion-item text-wrap style="user-select: text">
       {{item.wish}}
      </div>     
 </ion-item-sliding>

item.wish 包含上面提到的“这是一个字符串.....”,我希望它实际创建链接以便它是可点击的,但由于某种原因它显示标签,而不是使其成为链接.我期待插值将 HTML 标记解析为工作链接,而不仅仅是打印整个标记。

更新

在我的 ts 文件中,我有这个:

urlify(text) {
    var urlRegex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
    return text.replace(urlRegex, function (url) {
      return "<a href=\"" + url + "\">" + url + "</a>";
    })
  }

制作这个的基本方法:

"This is a string with a link: http://www.somelink.com" 

进入这个:

 "This is a string with a link: 
    <a href="http://www.somelink.com">http://www.somelink.com</a>"

该字符串然后通过插值传递到 HTML 页面,如上所示。

所以标签是在代码中创建的,因为它必须是动态创建列表项,所以我不能在 HTML 中设置标签。如果我在 HTML 中创建标签,例如:

<a [href]="{{item.wish}}">somelink</a> 

它还将链接旁边的文本(“这是一个带有链接的字符串”)也变成一个链接,这不是本意,只有链接应该是可点击的。

【问题讨论】:

    标签: javascript html angular typescript ionic2


    【解决方案1】:
    <a [href]="item.wish">the link from above</a>"
    

    【讨论】:

    • 很遗憾,这不是我想要的,我将提供更多代码,以使问题更清楚,我将更新我最初的问题,等一下
    • stackoverflow.com/questions/37076867/…。你可以使用&lt;div [innerHTML]="mySanitizedHtml"&gt;&lt;/div&gt;
    • 谢谢!这似乎解决了问题。但是提出了另一个问题,我在项目上有一个按钮,可以编辑它,当我单击它时,它会希望“这是一个字符串.....”并将其放在输入字段中进行编辑,在链接有效,它只是将链接作为字符串,但现在它带有标签,所以当我再次将其从列表中拉出时,它将具有:“这是一个带有链接的字符串:somelink.com">http://www.somelink.com</a>" 是否有某种方法可以将其从标签状态转换回字符串,例如:"somelink.com" 以便可以对其进行编辑?
    • 只需在代码中更改并更新mySanitizedHtml
    • 对于含糊其辞的解释,我深表歉意。我找到了解决问题的方法,所以它现在可以工作了。感谢您的帮助,感谢您的宝贵时间!
    猜你喜欢
    • 2016-06-26
    • 1970-01-01
    • 1970-01-01
    • 2017-10-14
    • 2018-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-18
    相关资源
    最近更新 更多