Aar*_*lin 9 angularjs restangular
所以看起来在示例中你可以这样做:
App.controller('ProjectListCtrl', ['$scope', 'Restangular', function($scope, Restangular) {
$scope.projects = Restangular.all('project/').getList();
}]);
Run Code Online (Sandbox Code Playgroud)
但那对我不起作用.当我在项目中重复项目并查看范围时,我看到:
{
projects: {
then: null
catch: null
finally: null
call: null
get: null
restangularCollection: true
push: null
}
}
Run Code Online (Sandbox Code Playgroud)
哪个看起来像一个未解决的承诺对象?
这工作正常,但更详细:
lgtApp.controller('ProjectListCtrl', ['$scope', 'Restangular', function($scope, Restangular) {
Restangular.all('project/').getList().then(function(projects){
$scope.projects = projects;
});
}]);
Run Code Online (Sandbox Code Playgroud)
我错过了什么?这是在文档中:
$scope.owners = house.getList('owners')
Run Code Online (Sandbox Code Playgroud)
无所谓,但是当我在Ripple chrome插件中测试一个phonegap应用时会发生这种情况.
jla*_*jla 12
$scope.projects = Restangular.all('project/').getList().$object;
Run Code Online (Sandbox Code Playgroud)
作为对其他评论的补充,即使承诺解包被禁用,我在Restangular中实现了一种新的方式,让你轻松地为你打开包装(类似于$ resource做什么而不删除Promises).有关更多信息,请查看https://github.com/mgonto/restangular#using-values-directly-in-templates :)
从角度1.2开始,承诺的自动展开被禁用和弃用.所以,同时
$scope.projects = Restangular.all('project/').getList();
Run Code Online (Sandbox Code Playgroud)
本来可以让您projects在以前的版本中直接访问您的视图(可能已写入的Restangular文档),它将不再自动运行.您可以通过$parseProvider.unwrapPromises()API 重新启用该功能,但它已被弃用,因此您最好的选择可能是在您的控制器中手动解决承诺,就像在更详细的示例中一样.
| 归档时间: |
|
| 查看次数: |
5823 次 |
| 最近记录: |