未捕获的TypeError:无法读取属性' on'在raphael.js中未定义

时间:2016-10-12 07:04:47

标签: raphael

在以下代码中使用justgage node_module。在导入raphael.js时,获取错误Uncaught TypeError: Cannot read property 'on' of undefined。当我检查文件中给出问题的方法时,发现该方法已在代码中定义。 代码提供问题是eve.on("raphael.remove", stopAnimation);在raphael.js的5216行,但此方法已在185eve.on = function (name, f){}上定义。谁能说出问题是什么?

代码 -

import React from 'react';
import 'justgage';
import 'raphael';

var timeOut=null,gauge=null;

export default React.createClass({

        componentDidMount(){            
            this.update();                  
        },

        update(){

            gauge=new JustGage({ id: "gauge", value: 67, min: 0, max: 100, title: "Visitors"});
            document.getElementById("gage").innerHTML = gauge;      

            timeOut=setTimeout(this.update, 600);       
        },

        getValue(){
         var val = 25*Math.random();
            if(val>100) { val=100-val;}
            if(val<0)   { val=val+10;}
          return val;
        },

      componentWillUnmount: function() {        
         clearTimeout(timeOut);
      },

       render(){
                return(<div className="coll-md-4">
                         <div id="gage"></div>  
                       </div>);
            }
});

1 个答案:

答案 0 :(得分:1)

尝试使用https://www.npmjs.com/package/webpack-raphael包。

PS。如果您还没有全局可用的jQuery,您可以使用imports-loader模块传递:

import 'imports-loader?jQuery=jquery,this=>window!webpack-raphael/raphael';