سؤال

لقد قمت بإنشاء مخطط دوجو باستخدام ؛

var pieChart = new dojox.charting.Chart2D("pieChart");

بعد ذلك أريد تحديث/تدمير هذا المخطط. وانا كذلك؛

var pieChart = dojo.byId("pieChart");
pieChart.destroy();

يبدو أن هذا ليس وظيفيًا. أفعل شيئا خطأ هنا؟

أفضل

هل كانت مفيدة؟

المحلول

أثناء استخدامك Dojox ، لن يعيد DoJo.byid كائن JavaScript حاول استخدام dijit.byid أعتقد أنه سيعمل كما هو مقترح أدناه:

var piechart = dijit.byid ("piechart") ؛ piechart.destroy () ؛

نفس المشكلة التي كنت أواجهها مع dojox.form.busybutton بعد جهد كبير وجدت هذا ...

نصائح أخرى

واجهت هذه المشكلة نفسها ، حيث قمت بإنشاء الرسم البياني في مكان واحد ثم أردت تدميره في مكان آخر ، لكن لم يكن لدي إشارة إلى كائن الرسم البياني. الحل الوحيد الذي وجدته هو تفريغ عقدة DOM التي استخدمتها لصنع الرسم البياني:

dojo.empty("pieChart");

سيشير المتغير الثاني إلى كائن DOM ، وليس كائن JavaScript الذي يخزن كائن الرسم البياني.

var pieChart = new dojox.charting.Chart2D("pieChart");
pieChartDom = dojo.byId("pieChart"); //you cannot destroy, 
pieChart.destroy();  //you can destroy, this is original variable

اتمني ان يكون مفيدا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top