コンポーネントにバインドされた配列を 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 を使用しています。