我试图一起使用 AngularJS,D3,NVD3 和 Angular-NVD3 。我按照此处的快速指南进行操作:http://krispo.github.io/angular-nvd3/#/quickstart以及此处的饼图示例:https://github.com/krispo/angular-nvd3/blob/gh-pages/js/pieChart.js但它不适合我!我在控制台中收到此错误:
错误:
Error: Invalid isolate scope definition for directive nvd3: =?
at Error (native)
at http://localhost:3000/assets/libs/angular/angular.min.js:43:202
我一直绞尽脑汁想弄清楚我在这里做错了什么......这是我的代码:
HTML / Jade:
div(ng-app='myApp')
div(ng-controller='d3Dashboard')
nvd3(options='options', data='data')
模块:
angular.module('myApp', [
'myApp.commonController',
'myApp.filters',
'myApp.services',
'myApp.directives',
'nvd3'
]);
控制器:
angular.module('myApp.commonController', []).
controller('d3Dashboard', function ($scope) {
$scope.options = {
chart: {
type: 'pieChart',
height: 500,
x: function(d){return d.key;},
y: function(d){return d.y;},
showLabels: true,
transitionDuration: 500,
labelThreshold: 0.01,
legend: {
margin: {
top: 5,
right: 35,
bottom: 5,
left: 0
}
}
}
};
$scope.data = [
{
key: "One",
y: 5
},
{
key: "Two",
y: 2
},
{
key: "Three",
y: 9
},
{
key: "Four",
y: 7
},
{
key: "Five",
y: 4
},
{
key: "Six",
y: 3
},
{
key: "Seven",
y: .5
}
];
});
看到我做错了什么?
我应该使用angularjs-nvd3-directives代替angular-nvd3吗?
谢谢!
答案 0 :(得分:2)
angular-nvd3库似乎使用=?
语法将其一些作用域属性设置为可选。这是在Angular 1.1.4(commit #ac899d0)中添加的,似乎是一个破坏(非向后兼容)的变化。
因此,为了使用angular-nvd3的最新版本,您需要更新版本的Angular。