我想高亮显示部分代码块,即我网站上的部分内容:
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
答案 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>
输出将是这样的
.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;