请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

WangChangsong

注册会员

18

主题

33

帖子

115

积分

注册会员

积分
115
WangChangsong
注册会员   /  发表于:2018-12-6 14:32  /   查看:3740  /  回复:4
引入JS如下:
    <!-- SpreadJS -->
    <script type="text/javascript" src="lib/spread-sheets/scripts/gc.spread.sheets.all.12.0.2.min.js"></script>
    <script type="text/javascript" src="lib/spread-sheets/scripts/interop/angularjs/gc.spread.sheets.angularjs.12.0.2.min.js"></script>
    <script type="text/javascript" src="lib/spread-sheets/scripts/plugins/gc.spread.sheets.charts.12.0.2.min.js"></script>
    <!-- <script type="text/javascript" src="lib/spread-sheets/scripts/resources/zh/gc.spread.sheets.resources.zh.12.0.0.min.js"></script> -->
    <!-- SpreadJS CSS -->
    <link href="lib/spread-sheets/css/gc.spread.sheets.excel2016colorful.12.0.2.css" rel="stylesheet" type="text/css" />

没有引入 gc.spread.sheets.charts.12.0.2.min.js之前,功能一切正常。
引入gc.spread.sheets.charts.12.0.2.min.js之后,浏览器报错:
require.js:159
Uncaught Error: Mismatched anonymous define() module: function (a){a=a||{},a.Spread=a.Spread||{},a.Spread.Sheets=a.Spread.Sheets||{},a.Spread.Sheets.Charts=function(a){var b={};function c(d){if(b[d])return b[d].exports;var e=b[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,c),e.loaded=!0,e.exports}return c.m=a,c.c=b,c.p="/assets/",c(0)}([function(a,b,c){!function(){"use strict";c(1),c(2);var b=c(3);c(5),c(8),c(9),c(7),c(16),c(14),c(17),c(18),c(10),c(19),c(21),c(15),c(22),a.exports=b}()},function(b,c){var d,e=this&&this.__extends||function(){var a=function(b,c){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])})(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c),b.prototype=null===c?Object.create(c)d.prototype=c.prototype,new d)}}();!function(a){"use strict";a.Qpb=.01,a.Sya="gcdv-flexdv",a.tSa="gcdv-header",a.uSa="gcdv-footer",a.vSa="gcdv-plotarea",a.wSa="gcdv-plot",a.T0a="gcdv-legends",a.xSa="gcdv-legend",a.Rpb="gcdv-legend-content",a.ySa="gcdv-axis-x",a.zSa="gcdv-axis-y",a.ASa="gcdv-label",a.BSa="gcdv-title",a.CSa="gcdv-tick-major",a.DSa="gcdv-tick-minor",a.ESa="gcdv-gridline-major",a.FSa="gcdv-gridline-minor",a.GSa="gcdv-line",a.U0a="gcdv-trellis",a.V0a="gcdv-trellis-rows",a.W0a="gcdv-trellis-rows-gridline",a.X0a="gcdv-trellis-rows-header",a.Y0a="gcdv-trellis-row",a.Z0a="gcdv-trellis-columns",a.$0a="gcdv-trellis-columns-gridline",a._0a="gcdv-trellis-columns-header",a.a1a="gcdv-trellis-column",a.b1a="gcdv-tre
...


我的项目中引入了require.js
    <script type="text/javascript" src="./lib/require.js"></script>

main.js如下:
'use strict';
require.config({
    "baseUrl": "./",
    "waitSeconds": 0,
    "paths": {
        "can": "lib/can", //桩路径
        "app": "src/app", //app文件夹路径
        "business-app-remote": "src/app",
        "app-remote": "src/app", //app文件夹路径
        "angular": "lib/angular",
        "ui-router": "lib/angular-ui/ui-router",
        "bootstrap": "lib/bootstrap3.3.6/js",
        "moment": "lib/moment/moment.min",
        "language": "i18n/default/" + window.urlParams.lang,
        "language-remote": "i18n/default/" + window.urlParams.lang,
        "lazy-load": "lib/lazy-load",
        "fixtures": "fixtures",
        "remote-lib": "lib"
    },
    "priority": [
        "angular"

});



请问是什么原因?
不不能直接引入 gc.spread.sheets.charts.12.0.2.min.js么? 必须通过require引入?

4 个回复

倒序浏览
WangChangsong
注册会员   /  发表于:2018-12-6 15:56:54
沙发
找到原因了,gc.spread.sheets.chart.x.xx.xxxxx.x.min.js依赖模块"@grapecity/spread-sheets" ,需要在框架的main.js中定义"@grapecity/spread-sheets" 模块:
require.config({
    "baseUrl": "./",
    "waitSeconds": 0,
    "paths": {
        "can": "lib/can", //桩路径
        "app": "src/app", //app文件夹路径
        "business-app-remote": "src/app",
        "app-remote": "src/app", //app文件夹路径
        "angular": "lib/angular",
        "ui-router": "lib/angular-ui/ui-router",
        "bootstrap": "lib/bootstrap3.3.6/js",
        "moment": "lib/moment/moment.min",
        "language": "i18n/default/" + window.urlParams.lang,
        "language-remote": "i18n/default/" + window.urlParams.lang,
        "lazy-load": "lib/lazy-load",
        "fixtures": "fixtures",
        "remote-lib": "lib",
        "@grapecity/spread-sheets": "lib/spread-sheets/scripts"
    },
    "priority": [
        "angular"
    ]
});
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-6 17:00:17
板凳
好的,很高兴您解决了问题,我这边给您发一些SpreadJS与Angular结合使用的文档,您参考一下:

http://help.grapecity.com/spread ... .html#angular2.html
回复 使用道具 举报
WangChangsong
注册会员   /  发表于:2018-12-6 19:48:39
地板
gc.spread.sheets.xxx必须定义在require.js之前,且gc.spread.sheets.angularjs必须定义在angularjs之后
<!-- SpreadJS -->
<script type="text/javascript" src="lib/spread-sheets/scripts/gc.spread.sheets.all.12.0.2.min.js"></script>
<script type="text/javascript" src="lib/spread-sheets/scripts/plugins/gc.spread.sheets.charts.12.0.2.min.js"></script>

<script type="text/javascript" src="./lib/require.js"></script>

<!-- SpreadJS For AngularJS-->
<script type="text/javascript" src="lib/spread-sheets/scripts/interop/angularjs/gc.spread.sheets.angularjs.12.0.2.min.js"></script>

<!-- SpreadJS CSS -->
<link href="lib/spread-sheets/css/gc.spread.sheets.excel2016colorful.12.0.2.css" rel="stylesheet" type="text/css" />

评分

参与人数 1金币 +200 收起 理由
KevinChen + 200 赞一个!

查看全部评分

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-7 10:56:15
5#
WangChangsong 发表于 2018-12-6 19:48
gc.spread.sheets.xxx必须定义在require.js之前,且gc.spread.sheets.angularjs必须定义在angularjs之后

...

谢谢分享解决方法哟~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部