Javascript Angularjs-query parse.com$stateParams
我正在寻找对Angularjs中使用$stateParams的查询的支持。查询返回未定义的 我在新闻提要中有一组照片。点击一张照片会带你进入该照片的新页面。我在下面尝试先在网络谷歌开发工具标签中吐出照片id 环境:angularjs、javascript解析api 使用promises/factory/controller/view 路线 工厂解析查询Javascript Angularjs-query parse.com$stateParams,javascript,angularjs,parse-platform,angular-promise,Javascript,Angularjs,Parse Platform,Angular Promise,我正在寻找对Angularjs中使用$stateParams的查询的支持。查询返回未定义的 我在新闻提要中有一组照片。点击一张照片会带你进入该照片的新页面。我在下面尝试先在网络谷歌开发工具标签中吐出照片id 环境:angularjs、javascript解析api 使用promises/factory/controller/view 路线 工厂解析查询 function getFirst(Class, term1, term2){ var defer = $q.defer();
function getFirst(Class, term1, term2){
var defer = $q.defer();
var ParseString = Parse.Object.extend(Class);
var query = new Parse.Query(ParseString);
query.equalTo(term1, term2);
if(Class==='Gallery') {
query.equalTo('approve', true);
query.ascending('createdAt');
}
query
.first()
.then(function(resp){
console.log('getFirst', resp);
if (resp === undefined) {
defer.reject(resp);
} else {
defer.resolve(resp);
}
});
return defer.promise;
}
return {
getFirst: getFirst
}
项目控制器
function ItemController($scope, $state, $rootScope, $stateParams, Factory) {
var vm = this;
getItemDetails();
function getItemDetails() {
vm.Gallery = [];
Factory
.getFirst('Gallery', 'objectId', $stateParams.id)
.then(function(resp) {
vm.GalleryData = response;
console.log(resp);
vm.Gallery.push({
id: resp.id,
});
});
任何帮助都将不胜感激
谢谢
Cameron在路由配置中,您使用的是
url:“/item/:galleryid”
,但在控制器中,您正在查找与路由配置不匹配的$stateParams.id
更改为
$stateParams.galleryid
非常感谢。查询正在进行中。不过,在我看来,我还是无法表现出来。?我可以在我的item.html中执行{{gallery.id}}吗?因为解析不在angular上下文中,所以您需要运行$scope.$apply()
,以便在外部更改作用域时查看angular run digest。它还在变得烦躁不安$运行时,消化已在进行中的错误。根据一些研究,被告知尝试$scope.$applyAsync();,这会使错误消失,但数据仍然无法绑定到视图。我会继续研究的。干杯。也可以尝试$timeout()
。。。必须在控制器中注入$timeout
服务才能使用i-Charlie,您是否有机会看看我的另一个链接,这在本质上是相似的?明白你很忙,有自己的生活。如果你不问,你就不会明白。
function ItemController($scope, $state, $rootScope, $stateParams, Factory) {
var vm = this;
getItemDetails();
function getItemDetails() {
vm.Gallery = [];
Factory
.getFirst('Gallery', 'objectId', $stateParams.id)
.then(function(resp) {
vm.GalleryData = response;
console.log(resp);
vm.Gallery.push({
id: resp.id,
});
});