Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 嵌套对象中的Angularjs$scope.object_Javascript_Angularjs - Fatal编程技术网

Javascript 嵌套对象中的Angularjs$scope.object

Javascript 嵌套对象中的Angularjs$scope.object,javascript,angularjs,Javascript,Angularjs,我有一个$scope.currentUser对象和一个嵌套的OwnedCompany对象,如下所示: app.controller 'dashboardsCtrl', ($scope, Api, Auth) -> $scope.currentUser = Api.User.get(id: Auth.user()) $scope.ownedCompany = $scope.currentUser.owned_company {{currentUser}}返回: user: {

我有一个$scope.currentUser对象和一个嵌套的OwnedCompany对象,如下所示:

app.controller 'dashboardsCtrl', ($scope, Api, Auth) ->
  $scope.currentUser = Api.User.get(id: Auth.user())
  $scope.ownedCompany = $scope.currentUser.owned_company
{{currentUser}}
返回:

user: { 
  "name": "Ryan",
  "owned_company":{"name":"XYZ"}
}
{"name":"XYZ"}
{name:"XYZ"}
{{currentUser.owned_company}
返回:

user: { 
  "name": "Ryan",
  "owned_company":{"name":"XYZ"}
}
{"name":"XYZ"}
{name:"XYZ"}
但是
{{ownedCompany}}
返回nil


如何让
$scope.ownedCompany=$scope.currentUser.ownedCompany
正常工作


解决方案

根据@mohamedrias的回答

app.controller 'dashboardsCtrl', ($scope, Api, Auth) ->
  Api.User.get(id: Auth.user()).$promise.then (currentUser) ->
    $scope.currentUser = currentUser
    $scope.ownedCompany = currentUser.owned_company
{{ownedCompany}
返回:

user: { 
  "name": "Ryan",
  "owned_company":{"name":"XYZ"}
}
{"name":"XYZ"}
{name:"XYZ"}
这是一个异步调用,从中获取当前用户详细信息。所以以后会解决的

要么你必须使用诺言,要么你必须使用承诺

  $scope.ownedCompany = $scope.currentUser.owned_company
然后
块内


否则,在该对象上注册一个
监视
,并执行赋值。

您确定在写入变量名时没有错误吗??或者在字符大小写中??如果在运行时更改了
currentUser.owned_company
,则在更改发生后使用手表或设置值-
$scope.currentUser.owned_company
返回具有属性名称的对象,因此请尝试
{{ownedCompany.name}
使用$watch(或不使用$watch)获取
XYZ
,效果非常好。我将为我的问题添加解决方案。谢谢你,穆罕默德。