我正在尝试将数据传递给我的指令链接功能。当我在console.log中隔离范围时,我看到了我想要的所有属性(scope.x
,scope.y
和scope.categories
),它们的值是字符串。出于某种原因,虽然我无法在我的指令中访问范围的categories属性。
{{ categories }}
在控制器中定义为对象数组
main.html中:
<div bar-chart
bar-data='categories'
bar-x='violation_category'
bar-y='["number_violations"]'></div>
barchart.js:
app.directive('barChart', function(){
return {
restrict: 'A',
scope: {
x: '@barX',
y: '@barY',
barData: '='
},
link: function(scope, elem, attrs){
console.log(scope) // shows an object that has barData array
console.log(scope.barData) // undefined
console.log(scope.x) // string
console.log(scope.y) // string
}
}
})
在控制器中,$ scope.categories的填充方式如下:
Violation.categories().then(function(res){
$scope.categories = res.data
})
Violation
服务的行为如下:
categories: function(){
return $http.get('/api/violations/categories')
}