ember.js - Access content inside a controller function ember -
i have route, controller, view this. problem called controller function reloadtime
view in reloadtime
function console content controller says undefined
. question how access content in ember?
app.activecallsroute = ember.route.extend({ setupcontroller:function(controller,model){ $.ajax({ url:'requests/activecalls.php', type:'post', success:function(data){ app.cdrglobal.set('active_call',data.length); controller.set('content',data); } }) } }); app.activecallscontroller = ember.arraycontroller.extend({ content:[], deletecall:function(model){ var obj = this.findproperty('id',model.id); app.cdrglobal.set('active_call',app.cdrglobal.active_call-1); this.removeobject(obj); }, reloadtime:function(){ console.log(this.get('content'));//console undefined console.log(this.content);console undefined } }); app.activecallsview = ember.view.extend({ didinsertelement:function(){ this.get('controller').reloadtime(); } });
you accessing content
property correctly. reason why getting undefined
because content
property undefined.
now reason why content
undefined, because ember.js automatically sets controller's content return value of model
hook in route.
since didn't define model
method, return value if hook undefined
, therefore ember.js setting controller content
property undefined
.
solution:
create dummy model hook returns empty array:
app.activecallsroute = ember.route.extend({ setupcontroller:function(controller,model){ $.ajax({ url:'requests/activecalls.php', type:'post', success:function(data){ app.cdrglobal.set('active_call',data.length); controller.set('content',data); } }); }, model: function() { return []; } });
Comments
Post a Comment