編集したアイテムに対応するデータを含むフォームを表示したい。私はルーティングのためにui-router
を使用します。私はresolve
を使用できるかどうか私は知らない角度ui-routerが解決された非同期データを取得する
gapi.client.realestate.get(propertyId).execute(function(resp) {
console.log(resp);
});
:、私は、データが次の呼び出し(Googleクラウドエンドポイント)から来ると$scope.property
を設定したいPropertyController
で
myapp.config(function($stateProvider) {
$stateProvider.
.state('layout.propertyedit', {
url: "/properties/:propertyId",
views : {
"[email protected]": {
templateUrl : 'partials/content2.html',
controller: 'PropertyController'
}
}
});
:私は状態を定義しましたデータが非同期的に返されるためです。私はまず問題、propertyId
が定義されていない
resolve: {
propertyData: function() {
return gapi.client.realestate.get(propertyId).execute(function(resp) {
console.log(resp);
});
}
}
を試してみました。 url: "/properties/:propertyId"
からどのようにpropertyId
を取得しますか?
基本的には、$scope.property
をPropertyController
からresp
に、非同期呼び出しによって返されたオブジェクトに設定します。
EDIT:
myapp.controller('PropertyController', function($scope, , $stateParams, $q) {
$scope.property = {};
$scope.create = function(property) {
}
$scope.update = function(property) {
}
function loadData() {
var deferred = $q.defer();
gapi.client.realestate.get({'id': '11'}).execute(function(resp) {
deferred.resolve(resp);
});
$scope.property = deferred.promise;
}
});
jsfiddleを追加してください。 – zsong