1

コード

var app= angular.module('myApp', ['ngRoute', 'ngResource']);

app.factory('Greeter', ['$resource',function($resource){
  return $resource(
    'http://123.com/processor-url.php',{
      /*inputName:inputName,*/
      callback: 'JSON_CALLBACK'
    },{
      query: {method:'GET',isArray:true}
    });
}]);

app
.controller('appointmentController', ['$scope','routeParams', 'Greeter',
  function($scope,$routeParams,Greeter){
    /*alert("yes");*/
    alert($routeParams);
    var x = Greeter.query({
        myvar: $routeParams
    });
    $scope.output = x;
}]);

app.controller('homeController', ['$scope', function($scope){
}])


/*Final Config After Loading Everything*/
app.config(['$routeProvider', function($routeProvider) {
  $routeProvider.when('/appointments/:myvar', {templateUrl: 'appointments.html', controller: 'appointmentController'});
  $routeProvider.when('/home', {templateUrl: 'home.html', controller: 'homeController'});
  $routeProvider.otherwise({redirectTo: '/home'});
}]);

データ ( myvar=1066 の場合はhttp://123.com/processor-url.phpから)

[
    {
        "myCodeId": "1066",
        "myCodeName": "session test",
        "myCodeOwner": "dvg",
        "myCodeBody": "",
        "myCodeTimesUsedCount": "0",
        "myCodeValueAsMins": "0",
        "myCodeCreateDate": "2014-07-30 11:04:58",
        "myCodeLastEditDate": "2014-07-30 11:05:43",
        "isSnippet": "0",
        "isDeleted": "0",
        "isMyFavorite": "0"
    }
]

このコード + myvar=1066 の結果と思われるデータで実行しました。のエラーになります

TypeError: Cannot read property 'query' of undefined
    at new <anonymous> (.../urlTest/:29:24)

の行で

var x = Greeter.query({

どこが間違っているのだろうか?コントローラー自体の中に Greeter を挿入したように。

==アップデート1]===

すべての routeParam を routeParams に修正してコードを更新しました。

以前のエラーは解決されました。ただし、エラーは次のようになります

Error: [$injector:unpr] Unknown provider: routeParamsProvider <- routeParams
http://errors.angularjs.org/1.2.0-rc.3/$injector/unpr?p0=routeParamsProvider%20%3C-%20routeParams

routeParams を間違った方法で使用している可能性がありますか? 私がやりたかったのは、routeParams が 1066 の値になると仮定することです。これは、「/」記号の後にあるものです。その機能を理解するのは間違っていますか?

ありがとう

4

1 に答える 1

1

私が明確に見ている問題の 1 つは、DI のパラメーターの不一致です。これ

 .controller('appointmentController', ['$scope', 'Greeter',
      function($scope,$routeParam,Greeter){

する必要があります

 .controller('appointmentController', ['$scope','$routeParam', 'Greeter',
      function($scope,$routeParams,Greeter){

また、サービス名は$routeParams

于 2014-08-05T14:16:44.223 に答える