0

コンポーネントにバインドされた配列を ass するのに問題があります。

私の親テンプレート:

<custom-component c-data-source="vm.dataSource"></custom-component>

vm.dataSource は文字列の配列です。

私のカスタムコンポーネント:

.component('customComponent', {
  bindings: {
    cDataSource: '='
  },
  controller: function () {
    var vm = this;
    vm.data = [];
    vm.$onInit = onInit;

    function onInit() {
      vm.data = vm.cDataSource;
      console.log(vm);
    }
  },
  controllerAs: 'vm',
  template: `
     {{ vm.cDataSource | json }}
     {{ vm.data | json }}
  `
}

私のコンソール出力

controller {cDataSource: Array(0), ...}
> cDataSource: (4) ['lorem', ...]

そして私のレンダリングされた子テンプレート:

['lorem', ...]
[]

vm.cDataSource を vm.data に割り当てようとすると、セットは空ですが、コンソールでvmを出力すると、折りたたまれたビューでは空ですが、展開すると要素が表示されます (4この場合)。また、テンプレートで印刷すると、直接バインドされた変数 (vm.cDataSource) には要素がありますが、ローカル変数 (vm.data) にはありません。

AngularJS 1.5.0-rc.2 を使用しています。

4

1 に答える 1