我将数据发送到parse.com上的一个类,我想运行此函数并更新$scope
而无需重新加载视图。
要创建运行下面这个函数的Programme
工作正常,但有时在创建新程序后不更新视图并且它需要页面刷新(当调用整个函数时,如底部所示 - getProgrammes();
getProgrammes = function() {
$ionicLoading.show();
var programmesArray = [];
var QueryProgramme = Parse.Object.extend("Programme");
var query = new Parse.Query(QueryProgramme);
query.equalTo("userId", userId);
query.find({
success: function(results) {
for(var i=0; i < results.length; i++) {
var object = results[i];
var programmeData = { title : object.get('programmeTitle'),
id : object.id,
exercises : object.get('exerciseData')
};
programmesArray.push(programmeData);
}
$scope.programmes = programmesArray;
$scope.$apply();
$ionicLoading.hide();
},
error: function(error) {
alert('You do not have any Programmes - please create one');
}
})
};
getProgrammes();
我想我可能会使用$scope.apply()
来攻击它 - 因此使其不可靠。协助使用正确的功能以便自动更新$scope
会很棒。
答案 0 :(得分:4)
我一直在使用这里找到的库:
https://github.com/brandid/parse-angular-patch
基本上我只是引用parse-angular.js文件,然后在我的应用程序中包含依赖项,例如:
angular.module('app', [
'parse-angular',
]);
然后我只是在我喜欢的时候使用Parse查询,并且他们正确地参与了$scope
和$apply
。该库只是在Parse方法上做了一些简单的包装,使异步调用服从角度规则。