2016-07-10 36 views
0

我正在写一个用Ionic/Angular/Typescript编写的项目。在.html文件,我有字符串链接 - Typescript

< p> {{stringVar}} </p> 

在的.ts文件,我有

this.stringVar= "Visit http://www.google.com. 
       Visit http://www.stackoverflow.com." 

我有2个问题:

1)我想2句字符串中以不同的行显示在html中。我应该怎么做才能做到这一点:添加\ n或< br>或类似的东西?

2)我希望字符串中的2个链接在html中也显示为链接。也就是说,当用户点击它们时,他将被带到这些网站。

在此先感谢!

+0

如果这是你的URL保存你得砍的方式你自己的弦。 – toskv

回答

1

1)出现在不同的线路,你必须把每一个自己<p>标签内,像这样:

<p>first line</p> 
<p>second line</p> 


2)显示为可点击的链接,你需要把<a>标签与URL的href属性,像这样:

<p>click <a href="http://www.google.com/">here</a> to visit google.</p> 


这将是更好,如果你可以改变你的数据的结构,像这样:

<p ng-repeat="url in urlList">Visit <a href="url">{{url}}</a></p> 

this.urlList = [ 
    "http://www.google.com", 
    "http://www.stackoverflow.com" 
]; 


甚至更​​好:

<p ng-repeat="site in siteList">Visit <a href="site.url">{{site.name}}</a></p> 

this.siteList= [ 
    { name: "Google", url: "http://www.google.com" }, 
    { name: "StackOverflow", url: "http://www.stackoverflow.com" } 
]; 
+0

我明白了,但我只是一个例子。实际上,我有一串字符串。其中一些包含链接,一些则不包含链接。而且没有像我之前介绍的“访问......”那样的模式。它只是包含在一些字符串中的链接。 – flaviumanica

+0

@flaviumanica请在下面看到我的回答 –

+0

这是一个比较复杂的问题,还有其他一些问题,看看这个:http://stackoverflow.com/questions/37684/how-to-replace-plain-urls-与链接 – lmcarreiro

0

去与 '名单',而不是一个STRINGVAR

this.linkList = [ 
    "http://www.google.com", 
    "http://www.stackoverflow.com" 
]; 

1,最好的方法)我建议有<p></p>而不是<br/>之间。

2)以下是Angular2

<p *ngFor="let link of linkList">Visit <a href="{{link}}">{{link}}</a></p> 

这里检查工作样例工作示例:https://embed.plnkr.co/Om3CXpT9xN07YCz2aHQr/

0

两个问题有你的角度基本上要插值字符串与HTML一个答案,虽然我不是angular1.x的专家,但是有一种服务使用相同的叫

$interpolate(templateString)(you_.ts/js_code); 

通过使用这个你可以显示你的字符串,因为它在你的javascript文件中使用html的网页事件。你只需要通过HTML字符串中的ANS在网页上显示它

例如让我们假设你的使用情况,你简单得添加此类似: -

this.stringVar= "Visit <a href='http://www.google.com'>Google</a> Here and<br> Visit <a href='http://www.stackoverflow.com'>Stackoverflow</a> Here." 

和比它转换使用插值像这

$scope.your_string = $interpolate(templateString)(stringVar); 

Working Example for the same