如何在angularjs指令中传递动态对象

如何在angularjs指令中传递动态对象,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我正在尝试使用ng repeat在单个页面上生成多个图表。实现此accept chart数据对象的指令如下。 module.directive('miChart',function(){ 返回{ 限制:'E', 模板:“”, 范围:{ 图表数据:“=值”, chartObj:“=?” }, 替换:正确, 链接:函数($scope、$element、$attrs){ $scope.$watch('chartData',函数(值){ 如果(!值){ 返回; } $scope.chartData.c

我正在尝试使用ng repeat在单个页面上生成多个图表。实现此accept chart数据对象的指令如下。

module.directive('miChart',function(){
返回{
限制:'E',
模板:“”,
范围:{
图表数据:“=值”,
chartObj:“=?”
},
替换:正确,
链接:函数($scope、$element、$attrs){
$scope.$watch('chartData',函数(值){
如果(!值){
返回;
}
$scope.chartData.chart.renderTo=$scope.chartData.chart.renderTo | | |$element[0];
$scope.chartObj=新的Highcharts.Chart($scope.chartData);
});
}
}

});
您是否尝试重复
并将
放入重复div中?
属性的结构是什么。竞争对手
?chartData位于名为
PropertyId
的属性中似乎很奇怪,我已经尝试过使用它,但也不起作用。Property.Competitors是一个属性为PropertyId的属性数组。一个ID怎么可能是一个图表的足够数据?尝试将
my chart
放在div中,而不是放在repeat level我正在将图表对象分配给$scope[id]。我想使用相同的范围对象,这也是我使用id作为范围名称的唯一原因。因此,我的最终代码是,在控制器中,我分配$scope[3]=ChartObject。如果没有来自控制台的更多调试信息,对
的了解就不够了。也不知道是否定义了
$scope[3]
,因为您使用的是独立的scope指令。您的指令显示作为chartData而不是ID传入的数据。。。您可能有范围问题