0

ng-options を使用した選択ドロップダウンを表す AngularJS 1.5 コンポーネントがあります。具体的には、コンポーネントにバインドされ、親コントローラーから取得される name プロパティの値に応じて、これらの ng-options が (定数ファイルからの) さまざまなデータで動的に埋められることです。
たとえば、私のコンポーネントは次のようになります。

test.component.js

angular
    .module('test.component')
    .component('Selector', {
        controller: Selector,
        controllerAs: 'vm',
        templateUrl: 'selector.html',
        bindings: {
            model: '=',
            form: '<',
            name:'@',
            label:'@',
            constant: '<',
        }
    });
    function Selector(CONSTANTS, SOME_OTHER_CONSTANTS) {
        var vm = this;
        switch(vm.name) {
            case 'Name1':
            vm.constant = CONSTANTS;
            break;

            case 'Name2' :
            vm.constant = SOME_OTHER_CONSTANTS;
            break;
        }

    }

したがって、親コントローラーのビューでは、次のようになります
。parent-view.html

<selector
  name="Name1"
  form="vm.myForm"
  model="vm.myModel>
</selector>

name正常に動作しますが、主にフォームの検証に使用されるため、プロパティを介して親コントローラーとデータを区別することはお勧めできません。親コントローラーを区別して、それに応じて異なるデータを ng-options に入力できるようにするためには、何を使用するのが良いでしょうか?

どんな助けや提案も大歓迎です。

4

1 に答える 1