javascript – 从路由的beforeModel访问控制器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 从路由的beforeModel访问控制器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1757字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 从路由的beforeModel访问控制器](/upload/InfoBanner/zyjiaocheng/827/a53059d1daf14099ad4c38e32d380584.jpg)
我想从一个路径上的beforeSend钩子中访问我的路由控制器,以利用promise上的暂停逻辑.
这是我目前的解决方法,能够在我的控制器上设置“category_config”,这是从beforeModel中的promise获得的.
Imaging.ReferenceRoute = Ember.Route.extend(Imaging.Ajax, {
setupController: function(controller, model) {
controller.set('error_messages', []);
controller.set('category_config', this.get('category_config'));
return this._super(controller, model);
},
beforeModel: function(transition) {
var categories;
categories = this._promise("/url/foo/", "GET");
return Ember.RSVP.all([categories]).then(((function(_this) {
return function(response) {
return _this.set('category_config', response[0]);
};
})(this)));
},
model: function() {
return Imaging.Document.find();
}
});
万一你好奇我的_promise助手如下:
_promise: function(url, type, hash) {
return new Ember.RSVP.Promise(function(resolve, reject) {
hash = hash || {};
hash.url = url;
hash.type = type;
hash.dataType = "json";
hash.success = function(json) {
return Ember.run(null, resolve, json);
};
hash.error = function(json) {
if (json && json.then) {
json.then = null;
}
return Ember.run(null, reject, json);
};
return $.ajax(hash);
});
}
如果没有让beforeModel在路由上设置’category_config’,然后在setupController中的控制器上设置它,我怎么能这样做呢?
解决方法:
没有测试,但我认为你可以使用Imaging.Document.find()和_promise(“/ url / foo /”,“GET”);返回一个元组,使用Ember.RSVP.hash
Imaging.ReferenceRoute = Ember.Route.extend(Imaging.Ajax, {
setupController: function(controller, model) {
controller.set('error_messages', []);
controller.set('category_config', model.category_config);
return this._super(controller, model.document);
},
model: function() {
return Ember.RSVP.hash({
document: Imaging.Document.find(),
category_config: this._promise("/url/foo/", "GET")
});
}
});
内容总结
以上是互联网集市为您收集整理的javascript – 从路由的beforeModel访问控制器全部内容,希望文章能够帮你解决javascript – 从路由的beforeModel访问控制器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。