无法将外部ngFor循环中的变量分配给嵌套循环内的ngModel

时间:2017-04-28 21:58:09

标签: angular2-forms ngfor angular2-ngmodel

我面临的问题是使用变量设置ngModel的变量名称。详细说明:

这里用作“选项”的json是:

$mysqlHost = "dbHost";
$mysqlUser = "dbUser";
$mysqlPwd = "dbPass";
$mysqlDbname = "dbName";

// Create connection
$conn = mysqli_connect($mysqlHost, $mysqlUser, $mysqlPwd, $mysqlDbname);

// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}

$result = $conn->query("SELECT * FROM `users` WHERE `user_name` = '$username'");
if($result->num_rows == 0) {
     // row not found, do stuff...
} else {
     // do other stuff...
}
$conn->close();

数组'keys'由{“a”,“b”,“c”}组成,并且已在组件类中使用 -
创建 this.keys = Object.keys(this.options);

我在这里做的是在html页面上为每个键创建不同的选项卡,其值为单选按钮,即选项卡为“a”,“b”和“c”,每个选项卡都有相应的选项值(标签a上的“a1,a2,a3”,标签b上的“b1,b2,b3和b4”等等作为单选按钮。它正在努力。

尝试将变量设置为键的值(“a”,“b”和“c”)并将相应的所选单选按钮作为每个选项卡的值返回时,会弹出问题。为了澄清,我想返回a = a1或a2或a3,b = b1或b2或b3或b4和c = c1或c2或c3或c4或c5或c6(基于我的选择)。我无法将ngModel设置为任何相关变量来实现此目的。我可以直接将ngModel设置为“a”,“b”或“c”,但不能使用索引等循环变量(如键或访问键)。此外,如果它是相关的,我正在使用formGroup这个表单。

任何帮助将不胜感激。我不确定我是否已经解释得这么好,所以请随意提问。 (而且我对Angular很新,所以我可能错过了一些明显的东西,虽然我一直试图解决这个问题:/)

{
  "a": [
    "a1",
    "a2",
    "a3"
  ],
  "b": [
    "b1",
    "b2",
    "b3",
    "b4"
  ],
  "c": [
    "c1",
    "c2",
    "c3",
    "c4",
    "c5",
    "c6"
  ]
}.

1 个答案:

答案 0 :(得分:0)

这是你的出发点:

添加组件

public temp = {};

和html

<div *ngFor="let key of keys">
    <legend>{{key}}</legend>
    <div *ngFor="let opt of options[key]">
        <input id="{{opt}}" type="radio" [name]="key" [value]="opt" [(ngModel)]="temp[key]" />
        <label for="{{opt}}"><span class="{{opt}}"></span>{{opt}}<br/></label>
    </div>
</div>
相关问题