突出显示div的一部分

时间:2016-10-25 11:04:07

标签: angular typescript highlight

我想高亮显示部分代码块,即我网站上的部分内容:

public IEnumerable<Type> FindDerivedTypes( Assembly assembly, Type baseType )
{
        TypeInfo baseTypeInfo = baseType.GetTypeInfo();
        bool isClass = baseTypeInfo.IsClass, isInterface = baseTypeInfo.IsInterface;

        return
            from type in assembly.DefinedTypes
            where isClass ? type.IsSubclassOf( baseType ) :
                  isInterface ? type.ImplementedInterfaces.Contains( baseTypeInfo.AsType() ) : false
            select type.AsType();
}

我得到这样的输出(sourceCode):

<section highlight-js-content=".highlight">
  <pre class="source-code-box">
    <code class="source-code java highlight">{{sourceCode}}</code>
  </pre>
</section>

让我想要输出部分中突出显示的整个import aaaaa; import aaaab; import aaaac; public class TestA { private final Integer a; TestA(final Integer a){ this.a = a; } getA(){ return this.a; } getTwoA(){ return 2 * this.a; } } 方法。

我该怎么做?

PS。我想在没有getA()的情况下这样做。

修改
解决

我在以下主题中找到了解决方案: Inject <input> in innerHTML angular 2

1 个答案:

答案 0 :(得分:0)

我可以看到,只有一种方法可以实现这一点,方法是在要突出显示的数据库中围绕代码部分手动添加一个范围,然后使用[innerHTML]="sourceCode"绑定代码

<span class='higlightCode'>
 getTwoA(){
     return 2 * this.a;
   }
</span>

将html绑定为

<section highlight-js-content=".highlight">
  <pre class="source-code-box">
    <code class="source-code java highlight" [innerHTML]="sourceCode"></code>
  </pre>
</section>

输出将是这样的

&#13;
&#13;
.highlightCode
{
  background-color:#ffeb00
}
&#13;
<section highlight-js-content=".highlight">
  <pre class="source-code-box">
    <code class="source-code java highlight">
import aaaaa;
import aaaab;
import aaaac;

    public class TestA {
   private final Integer a;

   TestA(final Integer a){
     this.a = a;
   }
<span class='highlightCode'>
   getA(){
     return this.a;
   }
</span>
   getTwoA(){
     return 2 * this.a;
   }
}
    </code>
  </pre>
</section>
&#13;
&#13;
&#13;