我所拥有的ID值是我想要附加到URL以查询API中的正确对象
HTML:
<div ng-init="tileID = '38'"></div>
控制器:
app.controller('appCtrl',['$scope', '$http', 'ImageTiles', function($scope, $http, ImageTiles){
$scope.$watch('tileID', function(){
console.log($scope.tileID);
$scope.get = function(tileID){
ImageTiles.get({id: tileID}, function(data){
})
}
});
}]);
工厂
app.factory('ImageTiles', ['$resource', function ($resource) {
return $resource('http://api/v1/tiles/:id', {
id: "@id"
},
{
'query': {
method: 'GET',
isArray: false
}
});
}]);
示例:
在HTML中我的值为38,总是手动输入。然后想要获取该值(38)并创建http://api/v1/tiles/38
的URL以恢复对象的数据API上的ID为38。
我可以获取ID值,但不知道如何传递它并调用API。
答案 0 :(得分:0)
在使用它之前,确实没有必要使用你的$资源,将它包装在get函数中,只需直接调用它:
app.controller('appCtrl',['$scope', '$http', 'ImageTiles', function($scope, $http, ImageTiles){
$scope.$watch('tileID', function(){
console.log($scope.tileID);
ImageTiles.get({id: $scope.tileID}).$promise.then(function(tile) {
$scope.tile = tile;
});
});
}]);
答案 1 :(得分:0)
它似乎只是Angular Application的基本框架。要提供实际的路由机制,您必须修改app.js文件以配置不同的路由。
请参阅以下示例代码:
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when("/Apps", {templateUrl: "partials/App.html", controller: "driversController"}).
when("/App/:id", {templateUrl: "partials/App.html", controller: "appCtrl"}).
otherwise({redirectTo: '/App'});
}]);
答案 2 :(得分:0)
我看起来像
// Get
$http.get("http://api/v1/tiles/"+ tileID)
.success(function (response) {
// Do somthing
});
希望它可以帮助你
答案 3 :(得分:0)
在手表中,您可以指定参数newValue和oldValue,并使用newValue调用您的API。
app.controller('appCtrl',['$scope', '$http', 'ImageTiles', function($scope, $http, ImageTiles){
$scope.$watch('tileID', function(newValue, oldValue){
console.log(newValue);
ImageTiles.get({id: newValue}, function(data){
console.log(data);
});
});
}]);