props name emberjs ember component classnamebindings bubbling ember.js

ember.js - name - Acceda al contenido dentro de una función de control de ascuas



ember onclick (1)

Está accediendo a la propiedad de content correctamente. La razón por la que undefined está undefined es porque la propiedad del content está definida.

Ahora, la razón por la que su content no está definido es porque Ember.js establece automáticamente el contenido del controlador en el valor de retorno del gancho model en la ruta.

Como no definió un método de model , el valor de retorno si este gancho undefined está undefined y, por lo tanto, Ember.js está configurando la propiedad del content la controladora como undefined .

Solución:

Cree un gancho de modelo ficticio que simplemente devuelva una matriz vacía:

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 []; } });

Tengo una ruta, un controlador, una vista como esta. El problema es que llamé a la función de controlador reloadTime desde la vista, pero en la función reloadTime , reloadTime el contenido de este controlador, pero dice que undefined está undefined . Mi pregunta es cómo acceder a este contenido en la brasa?

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(); } });