具有绑定

时间:2016-12-07 14:06:49

标签: angular

我有一个html字符串来自html='<span>{{name}}</span>'这样的数据库,其中name是组件上的属性。

我想在html中使用名称绑定加载此字符串。我找到了一些像[innerHTML]这样的答案,但它没有绑定在组件中声明的属性。

1 个答案:

答案 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);
      };
    };