Angularjs:在双花括号内渲染原始html - 可能吗?

时间:2016-02-04 09:39:26

标签: javascript html angularjs

我想在角度的双花括号中渲染原始html片段,但无法找到方法。 我知道有ng-bind-html指令用于绑定原始html文本,但这仅适用于标记内部(我的意思是它取代了标记的内容),但我想插入一个html片段而不将其封装在任何标签。

示例:

<div class="row">
    <div>....</div>
    <div>....</div>
    .....
    <div>...</div>

{{</div><div class="row">}}  <- here's what i'd like to insert - close a row and start a next one 

    <div>....</div>
    <div>....</div>
    .....
    <div>...</div>

</div>

所以,如果你看一下上面的html结构,我想插入一个结束标记并立即打开一个新标记。这必须动态完成,因为所有内容都是动态的,我想根据数据模型将其划分为多行。 有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我不确定你想做什么,我很确定,这不是最好的方式,甚至不是聪明的,但你可以试试这个:

{{'</div><div class="row">'}}

答案 1 :(得分:0)

在范围内定义一个变量:

$(window).scroll(function() {
  var wScroll = $(this).scrollTop();

  if ($(".pathe")[0]) {
    if (wScroll > $('.ribfactory a').offset().top) {
      $('.ribfactory').addClass('filter');
      $('.ribfactory').removeClass('invertedfilter');
      $('.pathe').addClass('invertedfilter');
    } else {
      $('.ribfactory').removeClass('filter');
      $('.ribfactory').addClass('invertedfilter');
      $('.pathe').removeClass('invertedfilter');
      $('.pathe').addClass('filter');
    }

    var wScroll = $(this).scrollTop();

    if (wScroll > $('.pathe a').offset().top) {
      $('.pathe').removeClass('invertedfilter');
      $('.pathe').addClass('filter');
      $('.boozy').addClass('invertedfilter');
    } else {
      $('.boozy').removeClass('invertedfilter');
      $('.boozy').addClass('filter');
    }
  } else if ($(".muesli")[0]) {
    if (wScroll > $('.muesli a').offset().top) {
      $('.muesli').addClass('filter');
      $('.muesli').removeClass('invertedfilter');
      $('.ice').addClass('invertedfilter');
    } else {
      $('.muesli').removeClass('filter');
      $('.muesli').addClass('invertedfilter');
      $('.ice').removeClass('invertedfilter');
      $('.ice').addClass('filter');
    }

    var wScroll = $(this).scrollTop();

    if (wScroll > $('.ice a').offset().top) {
      $('.ice').removeClass('invertedfilter');
      $('.ice').addClass('filter');
      $('.adventure').addClass('invertedfilter');
    } else {
      $('.adventure').removeClass('invertedfilter');
      $('.adventure').addClass('filter');
    }
  } else if ($(".polymed")[0]) {
    if (wScroll > $('.polymed a').offset().top) {
      $('.polymed').addClass('filter');
      $('.polymed').removeClass('invertedfilter');
      $('.safety').addClass('invertedfilter');
    } else {
      $('.polymed').removeClass('filter');
      $('.polymed').addClass('invertedfilter');
      $('.safety').removeClass('invertedfilter');
      $('.safety').addClass('filter');
    }
  } else if ($(".tailoreliza")[0]) {
    if (wScroll > $('.ribfactory a').offset().top) {
      $('.ribfactory').addClass('filter');
      $('.ribfactory').removeClass('invertedfilter');
      $('.tailorbnn').addClass('invertedfilter');
    } else {
      $('.ribfactory').removeClass('filter');
      $('.ribfactory').addClass('invertedfilter');
      $('.tailorbnn').removeClass('invertedfilter');
      $('.tailorbnn').addClass('filter');
    }

    var wScroll = $(this).scrollTop();

    if (wScroll > $('.tailorbnn a').offset().top) {
      $('.tailorbnn').removeClass('invertedfilter');
      $('.tailorbnn').addClass('filter');
      $('.tailoreliza').addClass('invertedfilter');
    } else {
      $('.tailoreliza').removeClass('invertedfilter');
      $('.tailoreliza').addClass('filter');
    }
  }
});

将其分配到$scope.rowHtml = "<strong>Your text here</strong>"

ng-model
<DIV>