2016-08-31 32 views
0

的我從運行的部分頁面下面的AngularJS代碼:AngularJS錯誤:無法設置屬性「的UserData」空

$scope.$parent.UserData = {}; 
$http.get('http://.../GetUserData/'). 
then(function (result) { 
    $scope.$parent.UserData = result.data; 
}, function errorCallback(error) { 
    console.log(error); 
}); 

我知道,$範圍$父母不爲空,我知道result.data。返回具有多個屬性的對象。不知道從$範圍。$父爲什麼我收到這個錯誤不是空

以上的部分頁面顯示在ui-view索引頁。這裏是從索引頁面的HTML:

<body ng-controller="BaseCtrl"> 
    <nav> 

    </nav> 

    <div class="" ui-view> 
    //partial pages displayed here 
    </div> 


<!-- Modal Structure --> 
<div id="modal1" class="modal"> 
    <div class="modal-content"> 
     <h4>Heading</h4> 
     <div class="row"> 
      <table> 
       <tr> 
        <td>ID:</td> 
        <td>{{UserData.ID}}</td> 
       </tr> 
       <tr> 
        <td>Person name:</td> 
        <td>{{UserData.Name}}</td> 
       </tr> 
      </table> 
     </div> 
    </div> 
    <div class="modal-footer"> 
     <button ng-click="closeModal()" class="modal-action modal-close waves-effect waves-green btn-flat">Close</button> 
    </div> 
</div> 

</body> 
+0

您可以嘗試記錄$範圍對象第一次檢查,如果它有一個$父? –

+0

你可以更新的console.log你的問題? –

+0

如果我使用console.log($ scope。$ parent)我得到'[object Object]' – ElenaDBA

回答

0

我想你還沒有定義$scope.$parent。所以先定義它。

$scope.$parent = {}; 
$scope.$parent.UserData = {}; 
$http.get('http://.../GetUserData/'). 
then(function (result) { 
    $scope.$parent.UserData = result.data; 
}, function errorCallback(error) { 
    console.log(error); 
}); 

對象對象的最佳語法。

$scope.$parent = {UserData:{}}; 
+0

$ scope應該沒有問題$ parent在設置'UserData'之前我已經在'$ scope。$ parent.MyValue'中存儲了變量 '$ http.get(的 'http://.../GetValue/')。 然後(函數(結果){$ 範圍$ parent.MyValue = result.data; },功能errorCallback(誤差){ \t的console.log(誤差); });' 的代碼以上是在部分頁面的控制器中執行的。這些數據意味着顯示在包含用於顯示部分頁面的「ui-view」的索引頁面的標題中: – ElenaDBA

0

可以請儘量將

$http.get('http://.../GetUserData/'). 
then(function (result) { 
    $scope.$parent.UserData = {}; 
    $scope.$parent.UserData = result.data; 
}, function errorCallback(error) { 
    console.log(error); 
}); 
+0

與以前相同的錯誤 – ElenaDBA

+0

Coild您請提供htmls和父控制器和子控制器詳細信息 –

0

一段時間的嘗試不同的東西,我終於與解決方案上來之後。這是什麼爲我工作:

$scope.$parent.UserDataColl = []; 
$http.get('http://.../GetUserData/'). 
then(function (result) { 
    $scope.UserDataColl.push(result.data); 
}, function errorCallback(error) { 
    console.log(error); 
}); 
相關問題