我创建了amCharts指令,它在某种程度上只是第一次起作用,第二次不会显示,直到我清除浏览器缓存。 另一个问题是它只适用于Chrome:/
这是我的代码:
.directive('amGraph', function(){
return {
restrict: 'E',
replace: true,
scope: {
getArchiveData: '='
},
template: '<div id="chartdiv"></div>',
link: function (scope, element, attrs){
scope.$watch('getArchiveData', function(data){
var chart = false;
var initChart = function(){
if (chart) chart.destroy();
chart = new AmCharts.makeChart("chartdiv", {
...
});
};
initChart();
});
}
}
})
这是HTML:
<div ng-controller="dataCtrl">
<am-graph get-archive-data="getData"></am-graph>
</div>
答案 0 :(得分:0)
它可以在这里工作:http://jsfiddle.net/tkX89/可能是你写的HTML错了。没有角度问题。
虽然提示:
replace: true
将使用分配的模板替换您的指令标记。小心。
PS:使用工厂获取数据非常棒。保持在轨道上!!