无法从nvd3 angularjs中的控制器访问$scope.api
我试图在Angular JS中使用NVD3方框图。我希望在控制器中的数据更改时更新图表 要更新图表,我需要使用以下行无法从nvd3 angularjs中的控制器访问$scope.api,angularjs,nvd3.js,angularjs-nvd3-directives,Angularjs,Nvd3.js,Angularjs Nvd3 Directives,我试图在Angular JS中使用NVD3方框图。我希望在控制器中的数据更改时更新图表 要更新图表,我需要使用以下行 $scope.api.updateWithData($scope.data); 但是,在我的控制器中,我无法访问$scope.api 但是,如果我遵循中或中给出的应用程序和控制器定义方法,它将非常有效 我想问题在于我定义应用程序和控制器的方式 我希望它能用下面的方法工作。你能帮我一下吗 HTML-DIV <div ng-controller="MyController"&
$scope.api.updateWithData($scope.data);
但是,在我的控制器中,我无法访问$scope.api
但是,如果我遵循中或中给出的应用程序和控制器定义方法,它将非常有效
我想问题在于我定义应用程序和控制器的方式
我希望它能用下面的方法工作。你能帮我一下吗
HTML-DIV
<div ng-controller="MyController">
<nvd3 options="options" data="data" api="api" config="{refreshDataOnly: true}"> </nvd3>
</div>
})()
控制器Def
(function () {
'use strict';
angular
.module('app', ['ngRoute', 'ngCookies', 'smart-table', 'ui.bootstrap', 'ngFileUpload', 'angular-img-cropper','nvd3'])
.config(config)
.run(run);
config.$inject = ['$routeProvider', '$locationProvider'];
function config($routeProvider, $locationProvider) {
}
run.$inject = ['$rootScope', '$location', '$cookieStore', '$http'];
function run($rootScope, $location, $cookieStore, $http) {
}
(function () {
'use strict';
angular
.module('app')
.controller('MyController', MyController);
MyController.$inject = ['UserService', '$rootScope', '$scope', '$cookieStore', 'AuthenticationService'];
function MyController(UserService, $rootScope, $scope, $cookieStore, AuthenticationService) {
var vm = this;
$scope.data = [ ];
// D3 JS Data
$scope.options = {
chart: {
type: 'boxPlotChart',
height: 450,
margin : {
top: 20,
right: 20,
bottom: 60,
left: 40
},
color:['darkblue', 'darkorange', 'green', 'darkred', 'darkviolet'],
x: function(d){return d.label;},
// y: function(d){return d.values.Q3;},
useInteractiveGuideline: true,
transitionDuration:500,
maxBoxWidth: 75,
yDomain: [0, 300]
}
};
$scope.btnDisplayData = function() {
// $scope.getOpParamsAcrossSites();
$scope.data = [
{
label: "Sample A",
values: {
Q1: 180,
Q2: 200,
Q3: 250,
whisker_low: 115,
whisker_high: 400,
outliers: [50, 100, 425]
}
},
{
label: "Sample B",
values: {
Q1: 180,
Q2: 200,
Q3: 250,
whisker_low: 115,
whisker_high: 400,
outliers: [50, 100, 425]
}
}
];
$scope.api.updateWithData($scope.data);
$scope.$apply();
}
}})();
:-)你的plunker链接不起作用。您是否保存了plunker?添加相关堆栈溢出问题,因为plunker不起作用