我很难更改传递给$resource
的网址的ID参数。显然,即使我输入固定值Resource.get(id:$routeParams.id)
,该值也不会更改为从(Resource.get(id:1))
重新显示的正确值,从而导致以下错误:
TypeError:encodeUriSegment不是函数
当我更改固定值(baseURL+'client/1')
的网址的ID参数时,它可以正常工作。
这是我的字体:
app.js 'use strict';
angular.module('serviceOrder',['ngRoute','ngResource'])
.config(function ($routeProvider,$locationProvider) {
/*$locationProvider.html5Mode({
enabled: true,
requireBase: false
});*/
$routeProvider.when('/clients', {
templateUrl: 'views/clients.html',
controller: 'ClientController'
});
$routeProvider.when('/newclient',{
templateUrl: 'views/client.html',
controller: 'NewClientController'
});
$routeProvider.when('/editclient/:id',{
templateUrl: 'views/client.html',
controller: 'EditClientController'
});
$routeProvider.otherwise({redirectTo: '/clients'});
});
controler.js
'use strict';
angular.module('serviceOrder')
.controller('EditClientController',['$scope','$routeParams','clientService',
function ($scope,$routeParams,clientService) {
$scope.message = 'Loading ...';
$scope.client = {};
$scope.phone = {id:'',brand:'',model:'',state:'',esn:''};
debugger;
clientService.getClients().get({id:$routeParams.id})
.$promise.then(
function (response) {
$scope.client = response;
},function (error) {
$scope.message = 'Error: ' + error;
}
);
}]);
service.js 'use strict';
angular.module('serviceOrder')
.constant('baseURL', 'http://localhost:8080/service-order-rest/rest/')
.service('clientService',['$resource','baseURL',function ($resource,baseURL){
this.getClients = function () {
return $resource(baseURL+'client/:id',null,{'update':{method:'PUT'}});
};
}]);
答案 0 :(得分:0)
我们在这里有一个错误:
Sub Option_choice()
Dim Choice_box As String
Do
Choice_box = InputBox("Quel état souhaitez-vous restituer ?" & _
vbCrLf & "Entrez la valeur 1, 2 ou 3" & _
vbCrLf & vbCrLf & vbTab & "1 - Bilan" & _
vbCrLf & vbTab & "2 - Compte de résultat" & _
vbCrLf & vbTab & "3 - Hors bilan", vbQuestion, "Entrez la valeur 1, 2 ou 3")
Select Case Choice_box
Case "1"
MsgBox ("Bilan")
Case "2"
MsgBox ("Compte de résultat")
Case "3"
MsgBox ("Hors bilan")
Case Else
MsgBox "Vous devez sélectionner une valeur égale à 1, 2 ou 3" & _
vbCrLf & vbCrLf & "Désirez-vous continuer ?", vbYesNo + vbExclamation, "Erreur"
If vbYes Then
Loop
ElseIf vbNo Then
MsgBox "Fin de l'opération, aucun état n'a été généré", vbInformation, "Fin du programme"
Else
'rien
End If
End Select
End Sub
答案 1 :(得分:0)
您的param默认值未正确配置。为实现此目标,根据$resource
's docs,您必须指定API方法的模式,该模式将接收{ id: '@id' }
而不是null
等参数。
$resource(baseURL + 'client/:id', //url
{ id: '@id' }, // parameters
{
'update': { method: 'PUT' } // methods
});