Javascript 如何在Ember JS控制器加载时启动函数?
我是新加入Ember.js的。我试图在此脚本中设置dataset:categories和dataset:data:data的值。情况是,我随后将Highcharts视图插入到我的模板中,但我需要动态获取数据,因此我尝试修改控制器以处理此问题。我做错了什么?我该如何解决这个问题Javascript 如何在Ember JS控制器加载时启动函数?,javascript,ember.js,Javascript,Ember.js,我是新加入Ember.js的。我试图在此脚本中设置dataset:categories和dataset:data:data的值。情况是,我随后将Highcharts视图插入到我的模板中,但我需要动态获取数据,因此我尝试修改控制器以处理此问题。我做错了什么?我该如何解决这个问题 App.InsightsController = Ember.ArrayController.extend({ setupController: function(controller, model) { var
App.InsightsController = Ember.ArrayController.extend({
setupController: function(controller, model) {
var chartJSON = []; // Empty in example but I have a valid JSON
var KPICategories = [],
KPIValues = [];
for (var i = 0; i < chartJSON.length; i++) {
var categoryDate = new Date(chartJSON[i]['file_creation_time']);
KPICategories.push(categoryDate.getHours() + ':' + categoryDate.getMinutes());
KPIValues.push(Math.round(chartJSON[i]['kpi_value']));
};
console.log(KPICategories);
controller.set('dataset:categories', KPICategories);
controller.set('dataset:data:data', KPIValues);
},
dataset: {
categories: null,
data: [{
name: 'Downlink Throuput',
data: null
}]
}
});
App.InsightsController=Ember.ArrayController.extend({
设置控制器:功能(控制器、型号){
var chartJSON=[];//示例中为空,但我有一个有效的JSON
var KPICategories=[],
KPIValues=[];
for(var i=0;i
setupController
是一个路由挂钩。将其剪切/粘贴到管线中:
App.InsightsRoute = Ember.Route.extend({
// This will fire after the model hook callback has returned, allowing you to interact with it.
setupController: function(controller, model) {
var chartJSON = []; // Empty in example but I have a valid JSON
var KPICategories = [],
KPIValues = [];
for (var i = 0; i < chartJSON.length; i++) {
var categoryDate = new Date(chartJSON[i]['file_creation_time']);
KPICategories.push(categoryDate.getHours() + ':' + categoryDate.getMinutes());
KPIValues.push(Math.round(chartJSON[i]['kpi_value']));
};
console.log(KPICategories);
controller.set('dataset:categories', KPICategories);
controller.set('dataset:data:data', KPIValues);
}
});
我以前试过这个,但它无法加载图表。我使用Handlebar将数组简单地输出为HTML,它确实可以工作。但是,图表仍然无法加载。是否因为图表视图是在上述脚本运行之前加载的?否,视图渲染在运行循环中稍后进行。有可能你连高分都没有?您有使用
didInsertElement
的视图吗?我有。以下是我的视图:。您还可以向我展示如何在模板中使用该视图吗?{{view App.HighChartsView dataset=dataset title=”“type=“line”yAxisTitle=“”}}
App.InsightsRoute = Ember.Route.extend({
// This will fire after the model hook callback has returned, allowing you to interact with it.
setupController: function(controller, model) {
//... You already set up the properties and whatnot...
controller.fireOffMethod(args);
controller.set('property_bar', controller.get('foo'));
}
});