2013-06-12 27 views
0

我有一個'深'JSON結果,我必須在AngularJS部分顯示。深JSON結果在AngularJS部分

我想顯示'person'節點的一些屬性。我有一個結果,只有一個人。 其實,這是我在做什麼:

Name : {{country.state.town.city.street.houseNumber.person.name}} 
FirstName : {{country.state.town.city.street.houseNumber.person.firstName}} 
dob : {{country.state.town.city.street.houseNumber.person.dob}} 
Phone : {{country.state.town.city.street.houseNumber.person.Phone}} 

我想什麼做的是:

var person = country.state.town.city.street.houseNumber.person 

Name : {{person.name}} 
FirstName : {{person.firstName}} 
dob : {{person.dob}} 
Phone : {{person.Phone}} 

由於部分是一些NG *元素一個html文件,我不要在這個文件中破解JS,我怎麼能'創建'一個局部變量?

+0

爲什麼能」你做你在控制器中顯示的部分你想要渲染的部分。而不是僅僅使用一個本地變種人,把它放在$範圍,所以'$ scope.person =國家......' –

+0

嗯,我不能因爲它是'未來',遠程通話還沒有被觸發。我試過並得到了一個'懶惰'異常 – MoxFulder

+0

我編輯了我的答案,以添加承諾 –

回答

1

Like NuclearGhost說,如果你有這個選項,可能在控制器中做得更好。

如果它是一個承諾,那麼,在控制器,你可以這樣做:

$scope.country.then(function(country) { 
    $scope.person = country.state.town.city.street.houseNumber.person; 
}); 

如果你不能做到這一點的控制,也許這樣的:

<div ng-repeat="person in [country.state.town.city.street.houseNumber.person]"> 
    Name : {{person.name}} 
    FirstName : {{person.firstName}} 
    dob : {{person.dob}} 
    Phone : {{person.Phone}} 
</div> 
+0

好吧,理解。我正在使用$資源,所以我需要適應一下,以承諾或$ http而不是$資源工作 – MoxFulder