在angular $ filter中使用Linky _blank

时间:2017-08-10 19:08:34

标签: angularjs

我使用linky从带有效URL的文本创建链接。 使用ng-bind-html ="字符串| linky:' _blank'"打破了HTML渲染。所以我创建了一个自定义过滤器,以便解决问题。不,我有链接和正确的身体。但现在URL在同一个选项卡中打开。如何将_blank属性应用于linky?

My code:

    <span ng-bind-html="to_trusted(body | linkyWithHtml)"></span>


    app.filter('linkyWithHtml', function($filter) {
  return function(value) {
    if(value){
      var linked = $filter('linky')(value.toString());
      var replaced = linked.replace(/\&gt;/g, '>').replace(/\&lt;/g, '<');
      return replaced;
    }
  };
});

2 个答案:

答案 0 :(得分:1)

So finally I got the solution 


app.filter('linkyWithHtml', function($filter) {
  return function(value) {
    if(value){
      var linked = $filter('linky')(value.toString());
      var replaced = linked.replace(/\&gt;/g, '>').replace(/\&lt;/g, '<').replace("<a", "<a target='_blank'")
      return replaced;
    } else{
      return value;
    }
  };
});

感谢https://stackoverflow.com/users/5924562/naren-murali

答案 1 :(得分:0)

正确的解决方案是使用\过滤器的“目标”参数:https://docs.angularjs.org/api/ngSanitize/filter/linky#overview

dates=('01-01-20', '01-01-20', '01-02-20')
df = df.set_index('date').reindex(dates).reset_index().reindex(df.columns, axis=1)
print (df)
   id  value      date
0   1    0.5  01-01-20
1   1    0.5  01-01-20
2   2    0.3  01-02-20