javascript
  • angular
  • 2017-07-05 67 views -2 likes 
    -2

    我必须插入一组属性到我想要重新使用的一个组件... 现在不同的属性将作为字符串给我... 说例如我想在我的组件动态插入html元素的角度

    <input type="text" maxlength="10" placeholder="enter your name"/> 
    

    的话,我会得到所有属性为一个字符串

    attr = 'type="text" maxlength="10" placeholder="enter your name"' 
    
    控制器为我的组件...

    插入的元素,我需要插入到我的h中的对手TML ...

    我曾尝试

    <input {{attr}}/> 
    

    <input {{jQuery.parseHtml(attr)}} 
    

    等。

    ,但它无法正常工作......还,找不到任何解决方案.. 请分享任何解决方案或对我有用的链接/参考...

    +2

    尝试阅读[documentation](https://angular.io/guide/template-syntax#binding-targets)。 –

    回答

    0

    您可以使用@Input属性将数据传递给嵌套的可重用组件。但是,AFAIK并不是一种简单的方法来传递一串html属性并自动应用它们。您可能需要将它们传递给各个输入属性,或者编写代码来自行处理字符串,并将它们映射到绑定的属性中。

    0
    1. 使用每一个绑定属性要更改动态

    组件:

    typeTxt: string = "text"; 
    maxLengthNum: number = 10; 
    placeholderString: string ="enter your name"; 
    

    HTML:

    <input [type]="typeTxt" [maxlength]="maxLengthNum" [placeholder]="placeholderString"/> 
    

    documentation更好地理解数据绑定和处理与不同的属性类型(属性,事件,tw邻的方式,等)


  • 使用父标记动态地改变模板
  • 组件:

    htmlString: string = '<input type="text" maxlength="10" placeholder="enter your name"/>'; 
    

    HTML:

    <div [innerHTML]="htmlString"></div> 
    

    结果:

    <div> 
        <input type="text" maxlength="10" placeholder="enter your name"/> 
    </div> 
    
    相关问题