gpt4 book ai didi

mvvm - 如何将FusionChart集成到使用Durandal和Knockout开发的SPA应用程序中?

转载 作者:行者123 更新时间:2023-12-03 10:20:29 26 4
gpt4 key购买 nike

如何将FusionChart集成到使用MVVM架构Durandal和Knockout.js开发的SPA应用程序中?我已经创建了一个带有硬编码数据的简单HTML文件,该文件中的图表运行良好,但是我无法弄清楚如何将此代码嵌入SPA应用程序。

我分享一些细节:

我在HTML文件中添加了以下Js文件:

<script type="text/javascript" src="./FusionCharts.js"></script>
<script type="text/javascript" src="./jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="./lib.js"></script>

成功显示融合图的HTML文件代码如下:
<div id="chartdiv" align="center">Chart will load here</div>
<script type="text/javascript">
var chart = new FusionCharts("Column3D", "myChartId", "300", "200");
chart.setXMLData("<chart animation='0' caption='Aging' numberPrefix='$' showBorder='1'>" +
"<set label='Current' value='24000' color='00FF00' />" +
"<set label='30+' value='19600' color='0000FF' />" +
"<set label='60+' value='15700' color='FFFF00'/>" +
"<set label='90+' value='14400' color='FF0000' />" +
"<styles>" +
"<definition>" +
"<style name='myCaptionFont' type='font' align='right'/>" +
"</definition>" +
"<application>" +
"<apply toObject='Caption' styles='myCaptionFont' />" +
"</application>" +
"</styles> " +
"</chart>");
chart.render("chartdiv");
</script>

我无法弄清楚ViewModel.js和view.html文件中呈现FusionChart的代码应该是什么。

请帮忙。

最佳答案

我开发了一个工作演示,将FusionCharts包含在DurandalJS中。只需将项目复制到Web服务器并访问该应用程序即可。

https://github.com/bhargav3/fcdurandal



首先要包括Fusioncharts.js,可以使用requirejs或直接将其添加到索引文件中来完成。为避免创建重复的图表,我们将检查FusionCharts('myChartId')是否存在并避免重绘。

您的 View 模型将如下所示:
define(['durandal/http', 'durandal/app'], function() {
return {
displayText: 'FusionCharts in a SPA app!',
viewAttached: function(view) {

if (typeof FusionCharts('myChartId') === 'undefined') {
$('#binder').append('<div id="chartContainer"></div>');
var myChart = new FusionCharts("Column3D", "myChartId", "400", "300", "0");
myChart.setXMLData("<chart animation='0' caption='Aging' numberPrefix='$' showBorder='1'>" +
"<set label='Current' value='24000' color='00FF00' />" +
"<set label='30+' value='19600' color='0000FF' />" +
"<set label='60+' value='15700' color='FFFF00'/>" +
"<set label='90+' value='14400' color='FF0000' />" +
"</chart>");
myChart.render("chartContainer");

}
}
};

});

您的 View 将在哪里
<h2 data-bind="html:displayText"></h2>
<div id="binder"></div>

main.js是引导文件,您可以在其中添加路由器(用于导航)。

关于mvvm - 如何将FusionChart集成到使用Durandal和Knockout开发的SPA应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18054345/

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