2016-08-19 57 views
0

對不起,我無法提供一個好的標題,但我希望你能理解我的問題。 在我的HTML頁面,我使用AngularJS在這裏表現出一定的信息是我的代碼:如何打開一個包含json文件信息的html頁面,該頁面包含json文件的特定數據的詳細信息

<tr ng-repeat="d in list"> 
    <td>{{d.nm}}</td> 
    <td>{{d.cty}}</td> 
    <td>{{d.hse}}</td> 
    <td>{{d.yrs}}</td> 
</tr> 

現在我想在實際的頁面做的是隻顯示名稱,該頁面鏈接到另一個包含詳細信息以獲得更清潔的頁面。 因此,這裏是我的計劃

<tr ng-repeat="d in list"> 
    <td ng-href="details.html">{{d.nm}}</td> 
</tr> 

和details.html我想表明大約只有我點擊了名的細節。 例如,如果我有:

{ 
    ["nm": "xxx", 
    "cty": "yyy", 
    "hse": "zzz", 
    "yrs": 2016 
    ], 
    ["nm": "aaa", 
    "cty": "bbb", 
    "hse": "ccc", 
    "yrs": 2014 
    ] 
} 

所以如果我在我的主頁點擊XXX,在details.html我應該只得到YYY,ZZZ年和2016年等... 這可能嗎?

編輯

app.factory('myapp', ['$http', function($http) {   
function getLists() { 
var tab = ['url1', 'url2', 'url3']; 
var list = []; 
for(i = 0; i < tab.length; i++) { 
    $http.get(tab[i]) 
    .then(function(res) { 
     list.push(res.data); 
    }); 
    } 
return list; 
} 

    return { 
    getLists: getLists 
}; 
]); 

控制器:

$scope.list = myapp.getLists(); 
+0

他們有共同控制或不同的控制器 –

+0

@SyamPillai是的,他們有相同的控制器 –

+0

檢查我的答案? –

回答

0

如果它們在相同的控制器

<tr ng-repeat="d in list"> 
    <td ng-href="details.html" ng-click="getDetails(d)">{{d.nm}}</td> 
</tr> 

控制器

$scope.getDetails = function(data){ 
    $scope.selectedData = data; 
} 

details.html

<tr ng-repeat="d in selectedData"> 
    <td>{{d.nm}}</td> 
    <td>{{d.cty}}</td> 
    <td>{{d.hse}}</td> 
    <td>{{d.yrs}}</td> 
</tr> 

你提供的JSON不是有效的一個

變化,爲:

[ 
    {"nm": "xxx", 
    "cty": "yyy", 
    "hse": "zzz", 
    "yrs": 2016 
    }, 
    {"nm": "aaa", 
    "cty": "bbb", 
    "hse": "ccc", 
    "yrs": 2014 
    } 
} 
+0

我要用我的工廠和控制器代碼編輯我的問題 –

+0

我已在控制器中完成 $ scope.selectedData = myapp.getLists(d); –

相關問題