我在分配绑定到我的组件的数组时遇到了一些麻烦。
我的父模板:
<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。