gpt4 book ai didi

javascript - HighCharts 未定义,因为 Javascript 文件中有多个 Html 页面

转载 作者:技术小花猫 更新时间:2023-10-29 12:55:09 29 4
gpt4 key购买 nike

我正在尝试获取一个名为“container”的 div id:

var chart = $(#container).highcharts();

当我通过在我的 html 页面中定义的 Controller 调用时,它工作得很好。但是,当我尝试通过我的 Html 页面未引用的另一个 Controller 调用此函数时,它无法正常工作。

那么,如何在其他 html 页面关联的其他 Controller 中调用我的 div?

例子:

它在我的 Controller “main”中工作并在我的 html 页面“main.html”中定义

    Item.Rest("datePerUser",null).then(function(totalDatePerUser){

var objectDate = totalDatePerUser.data;

var femDate = objectDate.Chart1Fem;
var mascDate = objectDate.Chart1Masc;

loadDataChart1(mascDate, femDate);

});

它不起作用,在我的 Controller “菜单”中定义,它在我的 html 页面“menu.html”中定义

    PeriodItem.Rest("datePerUser_",Obj).then(function(datePerUserTeste){

var objectDate = datePerUserTeste.data;

newFemDate = objectDate.Chart1Fem;
newMaleDate = objectDate.Chart1Masc;

loadDataChart1(newMaleDate, newFemDate);

});

A都调用follow函数

function loadDataChart1(dataMale, dataFem){

var chartProfiles = $('#container').highcharts();

obj_female = JSON.parse('{ "data":' + dataFem + ' }');
obj_male = JSON.parse('{ "data":' + dataMale + ' }');

chartProfiles.series[0].update(obj_female);
chartProfiles.series[1].update(obj_male);

}

仅供引用,我将 angularJS 与 Rest Service 一起使用,以从数据库获取数据,并且我有多个 Html 页面。

最佳答案

对于您的案例来说,一个 super 简单的选项是具有“loadDataChart1”功能的“通用” Controller 。

//Step 1 
app.controller('CommonChartsController', function($scope) {
$scope.createCharts = function (dataMale, dataFem) {
var chartProfiles = $('#container').highcharts();

obj_female = JSON.parse('{ "data":' + dataFem + ' }');
obj_male = JSON.parse('{ "data":' + dataMale + ' }');

chartProfiles.series[0].update(obj_female);
chartProfiles.series[1].update(obj_male);
};
}

//Step 2
app.controller('MainController', function($scope, $controller) {

$controller('CommonChartsController', {
$scope: $scope
});

Item.Rest("datePerUser",null).then(function(totalDatePerUser){
var objectDate = totalDatePerUser.data;

var femDate = objectDate.Chart1Fem;
var mascDate = objectDate.Chart1Masc;

$scope.createCharts(mascDate, femDate);
});
}

//Step 3
app.controller('MenuController', function($scope, $controller) {

$controller('CommonChartsController', {
$scope: $scope
});

PeriodItem.Rest("datePerUser_",Obj).then(function(datePerUserTeste){
var objectDate = datePerUserTeste.data;

newFemDate = objectDate.Chart1Fem;
newMaleDate = objectDate.Chart1Masc;

$scope.createCharts(newMaleDate, newFemDate);
});
}

关于javascript - HighCharts 未定义,因为 Javascript 文件中有多个 Html 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38961337/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com