0

Angular が必要なカテゴリにデフォルト値を追加しない理由がわかり<select>ません。

Parse のデータベースから返されたオブジェクトがあります。オブジェクトは次のようになります (これは「選択された」オプションです):

$scope.item.category = { id: 'uosDHIF', className: 'Category', name: 'Projects' }

また、カテゴリのリストもあります。

$scope.categories = [{ id: 'uosDHIF', className: 'Category', name: 'Games' }, { id: 'uosDHIF', className: 'Category', name: 'Random' }, { id: 'uosDHIF', className: 'Category', name: 'Projects' }]

私のHTMLでは、次のような選択があります:

<select name="category" class="form-control mb-10" ng-model="item.category" ng-options="category.name for category in categories"></select>

新しいカテゴリを選択してアイテムに割り当て、item.save() でアイテムを保存できますが、選択した (ng-model) が機能していないように見えるのが問題です。コンソールにチェックインするときにカテゴリがある場合でも、最初にページに入ると、常にデフォルトの空白オプションが表示されます。

また、自分で作成した単純なオブジェクトで動作させることができましたが、このオブジェクトはParseのデータベースから返されるため、これが問題なのか、そこに何かが欠けているだけなのかわかりません.

ご協力ありがとうございました。

注: 私に似た他の StackOverflow の問題を読みましたが、私の場合は役に立ちません。

4

2 に答える 2

1

実際、ng-options では、モデルの値を指定する必要があります ( category as category.name => ng-model のカテゴリを選択しますが、名前で表示します)。

照合は参照によって行われるため、同じオブジェクトが必要です ( category : $scope.categories[0] )。

あなたが試すことができます:

JS

$scope.categories = [
    { id: 'uosDHIF', className: 'Category', name: 'Games' }, 
    { id: 'uosDHIF', className: 'Category', name: 'Random' }, 
    { id: 'uosDHIF', className: 'Category', name: 'Projects' }
];

$scope.item = { 
    category : $scope.categories[0]
};

HTML

<select name="category" class="form-control mb-10" ng-model="item.category" ng-options="category as category.name for category in categories"></select>
于 2016-01-28T15:28:34.813 に答える