Javascript 在angularjs中路由加载之前解析对象列表
你好 我正在尝试解析angular js项目中的一个属性。以下是我到目前为止所做的工作Javascript 在angularjs中路由加载之前解析对象列表,javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,你好 我正在尝试解析angular js项目中的一个属性。以下是我到目前为止所做的工作 .when('/wizard',{ controller:'WizardController', templateUrl: 'partials/wizard.html', access: access.user, resolve: { categories: function ($http) { var cats= ;
.when('/wizard',{
controller:'WizardController',
templateUrl: 'partials/wizard.html',
access: access.user,
resolve: {
categories: function ($http) {
var cats= ;
var promise = $http({
method: 'GET',
url: '/categories',
});
promise.success(function(data){
console.log('Data successfully retrieved');
cats = data;
});
promise.error(function(){
console.log('Couldn\'t fetch categories' )
});
//categories =
// [{"id":"1","category_name":"Testing"},
// {"id":"2","category_name":"Testing 2"},
// {"id":"3","category_name":"Testing 3"},
// {"id":"4","category_name":"Testing 4"}];
return cats;
}
}
})
我正在尝试访问视图中的类别
我已经将$scope.categories设置为等于已解析的注入类别
<div class="pure-u-1-3">
<label for="category">Project Category</label>
<select ng-model="project.category" ng-options="k as v for (k,v) in categories">
<option value="">-- Choose Category --</option>
</select>
</div>
项目类别
--选择类别--
我似乎不知道我做错了什么 resolve对象的categories属性应该返回一个承诺,即返回一个数组,该数组将在将来重新分配 categories方法的编写方式如下
resolve {
categories:function($http) {
return $http({method: 'GET',url: '/categories'});
}
}
然后您将在控制器中获得类别依赖项
如果查看逻辑,它将在http回调完成后重新分配对cats
的引用,而返回的引用是对另一个对象的引用
在任何情况下,最好返回承诺
cates=数据代码>不确定这是否会修复它,但它是一个类型-oThanks,这是一个打字错误。有什么想法吗?谢谢,我已经将其抽象为一项服务,并从服务中回报承诺。