私のhtmlファイルのJavascript内でそのコントローラーでグローバルに宣言された$scope内にあるコントローラーから配列を使用しようとしています。これは可能ですか?$rootScope を実装しようとしましたが、実装に問題があるかどうかはわかりませんが、$rootScope が最初に呼び出され、コンソールで未定義になり、コントローラーが後で値を設定します。
これは私のコントローラーです
function HomeCtrl($rootScope, $scope, $http, $filter){
$rootScope.temp1 = [[gd(2016, 6, 1), 82], [gd(2016, 6, 7), 23], [gd(2016, 6, 14), 66]];
}
これは、HTML 内に配置された JS です
$(document).ready(function($rootScope) {
console.log($rootScope.temp1);
var data1 = $rootScope.temp1;
var data2 = [
[gd(2016, 6, 1), 82],
[gd(2016, 6, 7), 23],
[gd(2016, 6, 14), 66],
[gd(2016, 6, 21), 9],
[gd(2016, 6, 28), 119],
[gd(2016, 6, 29), 6],
[gd(2016, 6, 30), 9]
];
var data3 = [
[gd(2016, 6, 1), 822],
[gd(2016, 6, 7), 232],
[gd(2016, 6, 14), 626],
[gd(2016, 6, 21), 92],
[gd(2016, 6, 28), 1219],
[gd(2016, 6, 29), 62],
[gd(2016, 6, 30), 92]
];
$("#canvas_dahs").length && $.plot($("#canvas_dahs"), [
data1, data2, data3
], {
series: {
lines: {
show: false,
fill: true
},
splines: {
show: true,
tension: 0.4,
lineWidth: 1,
fill: 0.4
},
points: {
radius: 0,
show: true
},
shadowSize: 2
},
grid: {
verticalLines: true,
hoverable: true,
clickable: true,
tickColor: "#d5d5d5",
borderWidth: 1,
color: '#fff'
},
colors: ["rgba(38, 185, 154, 0.38)", "rgba(3, 88, 106, 0.38)"],
xaxis: {
tickColor: "rgba(51, 51, 51, 0.06)",
mode: "time",
tickSize: [1, "day"],
//tickLength: 10,
axisLabel: "Date",
axisLabelUseCanvas: true,
axisLabelFontSizePixels: 12,
axisLabelFontFamily: 'Verdana, Arial',
axisLabelPadding: 10
},
yaxis: {
ticks: 8,
tickColor: "rgba(51, 51, 51, 0.06)",
},
tooltip: false
});
function gd(year, month, day) {
return new Date(year, month - 1, day).getTime();
}
});