0

コントローラーで、サービスからリソースを取得するとき

$scope.myVariable = MyObject.get($scope.id);

thenmyVariableは後で解決されるため、MyObject として定義されていません。たとえば、デバッグやロギングのために、(サービスではなく)コントローラーで変数を検査する方法はありますか? 基本的に私は次のようなものを探しています

console.log("myVariable now has property "+ $scope.myVariable.myProperty);
4

1 に答える 1

2

AngularJS Doc から$resourceまで、次のことを読むことができます。

$resourceオブジェクト メソッドを呼び出すと、すぐに空の参照が返されることに注意してください。サーバーからデータが返されると、既存の参照に実際のデータが取り込まれます。通常、リソースはモデルに割り当てられ、ビューによってレンダリングされるため、これは便利なトリックです。オブジェクトが空の場合、レンダリングは行われません。サーバーからデータが到着すると、オブジェクトにデータが取り込まれ、ビューが自動的に再レン​​ダリングされて新しいデータが表示されます。これは、ほとんどの場合、アクション メソッドのコールバック関数を記述する必要がないことを意味します

ただし、入力された値を出力する必要がある場合は$scope.myVariable、コールバック関数を定義する必要があります。

$scope.myVariable = MyObject.get($scope.id, function(myVar){
   // From now, myVar == $scope.myVariable
   console.log("myVariable now has property "+ myVar.myProperty);
});
于 2013-04-08T12:54:38.217 に答える