【问题标题】:Loop add new record to array in typescript [closed]循环将新记录添加到打字稿中的数组[关闭]
【发布时间】:2020-04-15 08:02:29
【问题描述】:

我在 Typescript 中有一个 opt 变量

let opt = [{}];

如果我想使用 for 循环将多个子项添加到选择变量到下面的示例中

options = [
    { name: "option1", value: 1 },
    { name: "option2", value: 2 }
]

如何编码

for(i=0; i<=5; i++) {
    ...
}

【问题讨论】:

标签: angular typescript


【解决方案1】:

如果要将options中的每一项添加到opt,那么:

let opt = [];

let options = [
    { name: "option1", value: 1 },
    { name: "option2", value: 2 }
]

options.forEach(x => opt.push(x));

【讨论】:

    【解决方案2】:

    您需要将值推送到opt[]

    例子:

    for(i=0; i<=5; i++) {
        opt.push( { i } );
    }
    

    请根据您想要推送到数组中的内容进行更改。

    【讨论】:

      【解决方案3】:

      试试这个

      comomnet.html

      <select>
        <option *ngFor="let opt of options" [value]="opt.value">{{opt.name}}</option>
      </select>
      

      组件.ts

      options = [
          { name: "option1", value: 1 },
          { name: "option2", value: 2 }
      ]
      

      【讨论】:

        【解决方案4】:

        如果你需要在select选项中使用,你不需要在.ts中循环任何东西,你可以在模板中使用*ngFor指令来显示选项。

        试试这样:

        .html

        <select [(ngModel)]="selected">
          <option [value]="null">Select</option>
          <option *ngFor="let opt of options" [value]="opt.value">{{opt.name}}</option>
        </select>
        
        <p>selected : {{selected}} </p>
        

        .ts

        options = [{ name: "option1", value: 1 }, { name: "option2", value: 2 }];
        selected = null;
        

        Working Demo

        【讨论】:

        • 不需要循环任何东西?我可以在 html 中看到循环。
        • @AliWahab 我的意思是.ts文件中没有循环,使用指令*ngFor的Angular模板的标准语法就可以了。
        • 是的,只是想在将来有人访问此页面时纠正您。好吧,我认为这个问题并不直截了当。他需要通过 .ts 遍历选项,比如遗留的 jQuery 样式。
        猜你喜欢
        • 2022-01-24
        • 2019-01-15
        • 2018-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-10
        • 2012-10-04
        相关资源
        最近更新 更多