Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在同一页面上呈现两个画布元素-主干_Javascript_Backbone.js_Canvas - Fatal编程技术网

Javascript 无法在同一页面上呈现两个画布元素-主干

Javascript 无法在同一页面上呈现两个画布元素-主干,javascript,backbone.js,canvas,Javascript,Backbone.js,Canvas,我有一个包含两个id的主图表视图,主图表视图包含两个视图:PieChartView和LineChartView 但是,当仅渲染一个渲染而另一个画布元素出现错误时,两个视图都有模板 this.line.setElement(this.$('#id-sales-line')).delegateEvents().render(); this.pie.setElement(this.$('#id-sales-pie')).delegateEvents().render(); 完整代码:

我有一个包含两个id的主图表视图,主图表视图包含两个视图:PieChartView和LineChartView

但是,当仅渲染一个渲染而另一个画布元素出现错误时,两个视图都有模板

    this.line.setElement(this.$('#id-sales-line')).delegateEvents().render();
    this.pie.setElement(this.$('#id-sales-pie')).delegateEvents().render();
完整代码:

Uncaught TypeError: Cannot read property 'getContext' of null

当页面第一次呈现时,它不会为我呈现第二个setElement代码。

您能创建一个JSFIDLE吗?有了您共享的信息,很难说出我的主视图代码,我无法创建JSFIDLE,因为它使用Browserify
Uncaught TypeError: Cannot read property 'getContext' of null
 var $ = require('jquery'),
    Handlebars = require('handlebars'),
    Backbone = require('backbone'),
    mainchartTemplate = require('../../templates/dashboard/chartscontainer.html'),
    pieChartView = require('../../views/dashboard/PieChartView'),
    lineChartView = require('../../views/dashboard/LineChartView'),
    moment = require('moment');

var MainChartView = Backbone.View.extend({
    el: $('#id-charts-stats'),

    initialize: function() {

        this.pie = new pieChartView();
        this.line = new lineChartView();



    },
    events: {
        'click a.agraphType': "changeGraphData"
    },

    changeGraphData: function(ev) {

        ev.preventDefault();

        var type = $(ev.target).attr('type');

        sessionStorage.setItem("typeOfGraph", type);


        this.render();

    },

    render: function() {
        this.$el.html(mainchartTemplate);

        if (this.line) {
            this.line.remove();
        }

        this.line.setElement(this.$('#id-sales-line')).delegateEvents().render();

        if (this.pie) {
            this.pie.remove();
        }

        this.pie.setElement(this.$('#id-sales-pie')).delegateEvents().render();



    }
});

module.exports = MainChartView;