我想访问另一个对象内的对象,但是每当我对其进行控制台操作时,它都显示“未定义”。


$scope.instrumento = new Instrumento();

$scope.empresaInstrumento = EmpresaInstrumento.get({id:$routeParams.id}, function (instrumento) {
   $scope.instrumento = instrumento.instrumento;
    console.log($scope.instrumento);

});
console.log($scope.instrumento);


我如何在不丢失其引用的情况下从“ empresaInstrumento”中获取该对象“ instrumento”?

(get方法从api检索信息)

最佳答案

在您的代码中,您没有function可以在$scope.empresaInstrumento中运行,您必须将其设置为function,然后从控制器中调用它,或者将其查看为ng-init,请参见示例

app.controller("ctrl", ["$scope", "EmpresaInstrumento", "$routeParams", function ($scope, empresaInstrumento, routeParams) {
    $scope.instrumento = {};

    $scope.empresaInstrumento = function () {
        empresaInstrumento.get({ id: routeParams.id }, function (instrumento) {
            $scope.instrumento = instrumento.instrumento;
            console.log($scope.instrumento);
        });
    }

    $scope.empresaInstrumento(); //or in ng-init="empresaInstrumento()"

    console.log($scope.instrumento);
}]);

10-05 20:53