添加预加载器:将NProgress.js与ember集成.js与ember数据集成
Adding Preloader: Integrating NProgress.js with ember.js with ember data
我试图实现NProgress.js一个带有Ember的进度条jquery库.js当Ember试图从服务器获取数据时。我可以成功地在 Ember 中使用 Jquery Post 做到这一点,但是,当 ember 使用 Model.find() 加载数据时,我不知道如何使用 ember 数据实现这一点。
用户只需添加
NProgress.start();
在活动开始时和
NProgress.done();
当事件完成时。
这是我的代码,它与Jquery Post方法一起使用来实现NProgress.js页面中的进度条。
App.LoginController = Ember.Controller.extend({
reset: function(){
this.setProperties({
username: "",
password: "",
errorMessage: "",
successMsg: ""
});
},
login: function(){
var self =this, data = this.getProperties('username', 'password');
self.set('errorMessage', null);
self.set('successMsg', null);
Ember.$.post('login', data, function(){
NProgress.start();
}).then(function(response){
NProgress.done();
if(response.success){
self.set('successMsg', "Successfully Logged In! :)");
console.log(response.username);
self.transitionToRoute('about');
}else {
self.set('errorMessage', response.message);
console.log(response.message);
}
});
}
});
它工作正常,但我不知道如何使用 ember 数据使用它,所以我喜欢下面,但进度条无法正常工作,无论数据是否已加载,它都会开始和结束。
App.AboutRoute = Ember.Route.extend({
model: function() {
NProgress.start();
var data;
if(data = App.Profile.find()){
NProgress.done();
}
return data;
}
});
App.ProfilesRoute = Ember.Route.extend({
model: function(params) {
NProgress.start();
var data;
if(data = App.Profile.find(params.profiles_id)){
NProgress.done();
}
return data;
}
});
我不知道如何实现它,所以我这样做了。
Ember 数据返回一个承诺,您可以使用如下then
附加代码以在承诺后运行:
App.AboutRoute = Ember.Route.extend({
model: function() {
NProgress.start();
var data = App.Profile.find();
data.then(function(){
NProgress.done();
});
return data;
}
});
相关文章:
- vaadin:使用自定义布局集成angular js
- 如何在Angular js中集成其他页面中的样式
- 性能与模块化:将JS集成到PHP或单独的custom.JS中
- 将epub.js集成到firefox中,作为.epub的默认读取器
- 在Meteor:p5.AudioIn()中集成p5.sound.js不是构造函数
- 如何将现有的angular js应用程序集成到Laravel 5中
- 借助D3.js集成Datatables插件
- 如何将图表与react js组件集成
- 将chesbord.js与Flask集成
- 如何在Ruby on Rails中集成Arbor.js
- Spring MVC 集成 js 和 css 文件
- wordpress和packery.js的集成问题,但适用于非wordpress网站
- 有没有什么方法可以将速度模板与backbone.js集成
- Fastclick.js与AngularJS的集成
- 将JS集成到JS中的干净方法
- 与PHP集成.js Javascript库
- 添加预加载器:将NProgress.js与ember集成.js与ember数据集成
- 集成JS和PHP - 有没有更好的方法
- 自定义Facebook评论集成(JS SDK)
- 如何在magento成功页面中动态集成JS代码