2

これが私のhtmlです:アイテムの配列を持つオブジェクトがあります。入力からの値を含む新しい配列を追加する必要があります。

<div ng-repeat="item in contact.items">
  <label for="Title">Title</label>
  <select id="Title" ng-model="item.title">
    <option ng-selected="title.value === item.title" ng-repeat="title in titles">
      {{ title.title }}
    </option>
  </select>
</div>
<div class="row">
  <label for="Name"> Name</label>
  <input type="text" id="Name" placeholder="Name" ng-model="item.name">
</div>
<div class="row">
  <a ng-click="addItem();">Save Item</a>
</div>

コントローラーは次のとおりです。

$scope.addItem = function() {
  $scope.contact.items.push({
    name: "",
    title:""
  });
  console.log( $scope.contact.items);
};

空の配列をプッシュしても問題ありませんが、ng-model から値をプッシュしようとすると失敗します。

$scope.addItem = function() {
    $scope.contact.items.push({
        name: $scope.item.name,
        title:$scope.item.title
    });
    console.log( $scope.contact.items);
};

私は何が欠けていますか?

4

1 に答える 1

3

値をオブジェクトに保存してから、配列にプッシュする必要があります。

$scope.item = {};
$scope.addItem = function() {
    var newItem = {};
    newItem.name = $scope.item.name;
    newItem.title = $scope.item.title;
    $scope.contact.items.push(newItem);
    console.log($scope.contact.items);
};
于 2015-03-26T09:55:22.457 に答える