angularjs には kendo ui ドロップダウン リストがあります。私のコードでは、ドロップダウン リストの項目をクリックすると、選択した項目が削除され、(行要素として) html テーブルに追加されます。
$scope.optionsDropDownListCatalogs = {
dataTextField: "Name",
dataValueField: "Id",
select: onSelect
};
function onSelect(e) {
//Get the selected item
var item = $scope.dropdownlistCatalogs.dataItem(e.item.index());
//Remove it from the dropdownlist
$scope.optionsDropDownListCatalogs.dataSource.remove(item);
//Add the item in the table datasource
$scope.products.push(item);
}
HTMLページには、オブジェクト内のオブジェクトを表示するためのng-repeat$scope.product
があります。
テーブルが更新される場合と更新されない場合があります。$scope.$apply();を入れた場合 関数の最後に、テーブルが正しく更新されます (更新されているようです)。
なぜ実行する必要があるの$apply()
ですか? 同じダイジェストでpush()
発生しませんか?