我试图用innerHTML绑定/呈现html内容,但无法呈现{{…}在角度上。
代码如下:
<div [innerHtml]="TestString"></div>
test = " HTML Content ";
TestString = "<div>This is test code, i am trying to bind/render {{ test }} code with angular..,</div>";
结果
这是测试代码,我正在尝试用angular..绑定/呈现{test}代码。。,
未绑定/呈现测试变量值。。。。
试着这样做:
test = " HTML Content ";
TestString = `<div>This is test code, i am trying to bind/render ${this.test} code with angular..,</div>`
https://stackblitz.com/edit/angular-ckxsp8?file=src/app/app.component.ts
如果您想从组件内的字符串中评估模板,您可以创建自己的指令来执行此操作:
编写指令。ts
import {
Compiler, NgModule, Component, Input, ComponentRef, Directive,
ModuleWithComponentFactories, OnChanges, Type,
ViewContainerRef
} from '@angular/core';
import { CommonModule } from '@angular/common';
@Directive({
selector: '[compile]'
})
export class CompileDirective implements OnChanges {
@Input() compile: string;
@Input() compileContext: any;
compRef: ComponentRef<any>;
constructor(private vcRef: ViewContainerRef, private compiler: Compiler) {}
ngOnChanges() {
if(!this.compile) {
if(this.compRef) {
this.updateProperties();
return;
}
throw Error('You forgot to provide template');
}
this.vcRef.clear();
this.compRef = null;
const component = this.createDynamicComponent(this.compile);
const module = this.createDynamicModule(component);
this.compiler.compileModuleAndAllComponentsAsync(module)
.then((moduleWithFactories: ModuleWithComponentFactories<any>) => {
let compFactory = moduleWithFactories.componentFactories.find(x => x.componentType === component);
this.compRef = this.vcRef.createComponent(compFactory);
this.updateProperties();
})
.catch(error => {
console.log(error);
});
}
updateProperties() {
for(var prop in this.compileContext) {
this.compRef.instance[prop] = this.compileContext[prop];
}
}
private createDynamicComponent (template:string) {
@Component({
selector: 'custom-dynamic-component',
template: template,
})
class CustomDynamicComponent {}
return CustomDynamicComponent;
}
private createDynamicModule (component: Type<any>) {
@NgModule({
// You might need other modules, providers, etc...
// Note that whatever components you want to be able
// to render dynamically must be known to this module
imports: [CommonModule],
declarations: [component]
})
class DynamicModule {}
return DynamicModule;
}
}
用法:
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
})
export class AppComponent {
name = 'Product Name :'
price = '3'
template: string = `{{ name }} <b>{{ price }}$</b>`;
}
超文本标记语言:
<div class="product">
<ng-container *compile="template; context: this"></ng-container>
</div>
演示:https://stackblitz.com/edit/angular-eipbup?file=src/app/app.component.html
我正在尝试用innerHTML绑定/呈现html内容,但无法呈现{{...}}成角的。 代码如下:
我已经成功地使用angular而不是“Open/Save”对话框在HTML中显示PDF文件。现在,我被困在试图显示Word文档中。我曾经显示一个Word文档,并成功地完成了显示,但我想限制文件在“新建”选项卡中打开,以便他无法下载
问题内容: 我的应用程序正在使用JSoup下载留言板页面的HTML(在这种情况下,它是包含给定线程帖子的页面)。我想使用此HTML,去除不需要的项目,并应用自定义CSS对其进行样式设置使其在WebView中“可移动”。 我应该在处理样式时将样式注入HTML中(因为无论如何还是要处理样式),还是有一种很好的方法将CSS文件添加到我的应用程序资产中并简单地引用它。我认为后者将是理想的,但不确定如何实现
这是我的模板: 这是我的视图模板: 我得到的内容是html,我想在视图中显示,但我得到的只是原始html代码。如何呈现HTML?
问题内容: 我在一个网页上运行查询,然后得到结果URL。如果右键单击查看html源代码,则可以看到JS生成的html代码。如果我仅使用urllib,则python无法获取JS代码。所以我看到了一些使用硒的解决方案。这是我的代码: 这是我在右键单击窗口中需要的源代码,(我需要信息部分) 问题答案: 您将需要通过使用硒功能来获取文档 这将使所有内容都进入标签内