【发布时间】:2018-05-16 00:14:35
【问题描述】:
我正在尝试根据 ng-repeat 的 $index 或我正在循环的对象的键将 ng-model 绑定到输入。
我试过这样
<div data-ng-repeat="(key, n) in langInput.values">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 u-no-padding">
<label class="sell__label" for="auction_name_account_{{n.selected }}">Główna nazwa Twojej aukcji ({{n.selected }}):</label>
<div class="pst-relative">
<input type="text"
id="auction_name_account_{{n.selected }}"
class="form-control"
name="auction_name_account"
data-ng-model="inputs.auction_name_account[$index]"
data-ng-minlength="10"
data-ng-maxlength="60"
required />
<span class="sell__input-text sell__input-text--big-input" data-ng-show="sellItem.auction_name_account.$error.required">Wymagane!</span>
<span class="sell__input-text sell__input-text--big-input" data-ng-show="sellItem.auction_name_account.$error.minlength">Za krótkie!</span>
<span class="sell__input-text sell__input-text--big-input" data-ng-show="sellItem.auction_name_account.$error.maxlength">Za długie!</span>
</div>
</div>
</div>
像这样
<div data-ng-repeat="(key, n) in langInput.values">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 u-no-padding">
<label class="sell__label" for="auction_name_account_{{n.selected }}">Główna nazwa Twojej aukcji ({{n.selected }}):</label>
<div class="pst-relative">
<input type="text"
id="auction_name_account_{{n.selected }}"
class="form-control"
name="auction_name_account"
data-ng-model="inputs.auction_name_account[key]"
data-ng-minlength="10"
data-ng-maxlength="60"
required />
<span class="sell__input-text sell__input-text--big-input" data-ng-show="sellItem.auction_name_account.$error.required">Wymagane!</span>
<span class="sell__input-text sell__input-text--big-input" data-ng-show="sellItem.auction_name_account.$error.minlength">Za krótkie!</span>
<span class="sell__input-text sell__input-text--big-input" data-ng-show="sellItem.auction_name_account.$error.maxlength">Za długie!</span>
</div>
</div>
</div>
我正在循环的对象是:
$scope.langInput = {
values: [
{
id: "1",
selected: "pl"
},
{
id: "2",
selected: "eng"
}
],
结果是我的 ng-model 不是我想要的 inputs.auction_name_account[$index] 或 inputs.auction_name_account[key]。
我希望ng-model="value" 的值是唯一的。
这里是demo。
【问题讨论】:
-
你的 $scope.inputs.auction_name_account 数组是什么?
-
在我的控制器中?只有
$scope.inputs = {}; -
另外,$scope.langInput.values 似乎是一个数组,但你在它上面循环,就好像它是一个对象或字典一样。
-
那么它上面的auction_name_account 没有定义,所以你不能把它当作一个对象或者一个数组来调用。你可能需要先初始化它。
-
你能在这里修复它吗plnkr.co/edit/zaHPNWHhDSLwYZIKvmXh?p=previewfork new plnkr 并将其发布为答案?
标签: javascript angularjs angular-ngmodel ng-bind