我有一个html字符串来自html='<span>{{name}}</span>'
这样的数据库,其中name是组件上的属性。
我想在html中使用名称绑定加载此字符串。我找到了一些像[innerHTML]
这样的答案,但它没有绑定在组件中声明的属性。
答案 0 :(得分:0)
如果我们为组件创建自定义注释并使用它,我们可以实现它,我们可以从app获取元数据,如jsp文件,并将其添加到模板而不是templateUrl
我还没有创建示例代码,但粗略的想法就在这里 - &gt;
String query = 'select id as identifier, name as langName from languages'
def rows = db.rows(query, { meta ->
assert meta.tableName == 'languages'
assert meta.columnCount == 2
// ...
})
并像
一样使用它 export function CustomComponent(annotation: any) {
return function (target: Function) {
// call your database and get your string here
var parentTarget = Object.getPrototypeOf(target.prototype).constructor;
var parentAnnotations = Reflect.getMetadata('annotations', parentTarget);
var parentAnnotation = parentAnnotations[0];
Object.keys(parentAnnotation).forEach(key => {
if (isPresent(parentAnnotation[key])) {
if (!isPresent(annotation[key])) {
annotation[key] = parentAnnotation[key];
}
}
});
var metadata = new ComponentMetadata(annotation);
Reflect.defineMetadata('annotations', [ metadata ], target);
};
};