无法在指令中访问scope的属性

时间:2014-07-30 18:40:15

标签: javascript angularjs

我正在尝试将数据传递给我的指令链接功能。当我在console.log中隔离范围时,我看到了我想要的所有属性(scope.xscope.yscope.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')

}

0 个答案:

没有答案