【发布时间】:2017-02-09 20:55:40
【问题描述】:
我正在尝试访问由自定义指令的链接函数中的控制器定义的 attr 数据。
这是一些简单的角度标记:
<div class='barChart'>
{{vm.totals}}
<bar-chart chart-data='vm.totals'></bar-chart
</div>
这是指令定义:
angular
.module('app')
.directive('barChart', [Callback])
function Callback() {
return {
restrict: 'E',
replace: false,
scope: {data: '=chartData'},
link: (scope, el, attrs) => {
console.log(scope);
console.log(el);
console.log(attrs.chartData);
}
}
}
当我记录范围时,我可以按预期看到该对象中的数据数组,这是一张图片:
如您所见,数据是底部的 10 项数组。该数组也显示在浏览器中,因此数据就在那里。但是,只要我更改 console.log 以记录该属性:
console.log(scope.data)
打印出来的值是未定义的。我正在尝试访问链接函数中的数据,以便可以使用 d3 创建可视化。数据在那里,但只要我在范围内调用.data,它就没有定义。有什么想法吗?
【问题讨论】:
-
或任何不使用范围并从 html 中的指令中获取 attr 数据的想法?
标签: javascript angularjs d3.js