0

以下のコードを考慮してng-model、uniqueAttribute 条件を満たす場合、2 つの異なるオブジェクトで動的に構築しようとしています。

<input type="text" class="form-control" ng-model="vm.isUniqueAttribute(entityDefinition)" required />

以下は、それが返されるvm.abc、またはvm.defバインドする関数ですng-model

            vm.isUniqueAttribute = function(entityDef) {
                return entityDef.isUnique === 'true' ? 'vm.abc': 'vm.def';
            }

しかし、それは次のようにエラーをスローします:

エラー: [ngModel:nonassign] 式 'vm.isUniqueAttribute(entityDefinition)' は割り当てられません。

それを処理する方法、またはこれを達成するための代替方法はありますか?

単一のオブジェクトを割り当て、後で最終オプションとして 2 つの異なるオブジェクトに分類することで実行できます。しかし、それがそれほど努力せずに処理できるかどうかは疑問です。

4

3 に答える 3

0

2 つのモデルで 2 つの異なる要素を使用し、ng-if の助けを借りて、フラグに基づいて必要な要素を切り替えます。

<input type="text" class="form-control" ng-model="vm.abc" ng-if="vm.isUniqueAttribute(entityDefinition)" required />
<input type="text" class="form-control" ng-model="vm.def" ng-if="!vm.isUniqueAttribute(entityDefinition)"required />
于 2017-02-14T13:39:15.160 に答える