我见过类似的问题,但是我很难将它们应用到我的情况中,所以我感谢你能给我的任何帮助。我正在使用angular-nvd3指令在许多不同的控制器中制作4种不同类型的图表。现在,我将它们添加到每个视图和&控制器如其基本示例所示。
angular.module('myApp', ['nvd3'])
.controller('myCtrl', function('$scope'){
$scope.options = { /* JSON data */ };
$scope.data = { /* JSON data */ }
})
并在html中:
<div ng-app='myApp'>
<div ng-controller='myCtrl'>
<nvd3 options='options' data='data'></nvd3>
</div>
</div>
我一遍又一遍地使用相同的4个$scope.options
版本,所以我想编写一组指令,允许我用HTML编写它(并且只定义{{1在控制器中)。
$scope.data
我已经看过如何添加新属性并将它们指向范围变量的示例,但是如何将该属性指向固定的JSON对象?
答案 0 :(得分:1)
您可以创建一个包装nvd3指令的指令,并添加像
这样的选项数据HTML:
<typea data='data'></typea>
的javascript:
angular.module('myApp').directive('typea', function() {
return {
scope : {
data:"="
},
restrict: 'E',
template: "<nvd3 options='options' data='data'></nvd3>" ,
link: function($scope) {
$scope.options = { /* JSON data */ }
}
};
});