我想使用路線,但我總是希望使用相同的模板&控制器。我有這樣的路線:角 - 不同的路線,相同的模板/控制器,不同的加載方法
**a/:albumid**
和
**i/:imageid**
在我想要加載圖像陣列,並將它們添加到列表中的第一種情況。在第二種情況下,我想加載一個圖像並將其添加到列表中。
所以區別只在於數據加載。什麼是最有效的方法來做到這一點?
也有可能ng-show動畫嗎?像jQuery的slideDown?
我想使用路線,但我總是希望使用相同的模板&控制器。我有這樣的路線:角 - 不同的路線,相同的模板/控制器,不同的加載方法
**a/:albumid**
和
**i/:imageid**
在我想要加載圖像陣列,並將它們添加到列表中的第一種情況。在第二種情況下,我想加載一個圖像並將其添加到列表中。
所以區別只在於數據加載。什麼是最有效的方法來做到這一點?
也有可能ng-show動畫嗎?像jQuery的slideDown?
看看這篇文章,它描述了一個方式做你想要什麼:
我使用的技術,效果很好。
概括地說,像這樣的路由:
$routeProvider
.when("https://stackoverflow.com/a/:album_id", {
action: "album.list"
}).when("/i/:imgid", {
action: "images.load"
})
然後在你的控制器,你可以訪問$route.current.action
,並做適當的事情。關鍵是當$ routeChangeSuccess火災創造你的一個功能,它所有的工作(本文稱之爲render()
),然後調用該函數:
$scope.$on(
"$routeChangeSuccess",
function($currentRoute, $previousRoute){
// Update the rendering.
render();
}
);
我創建了一個超級簡單的指令來處理這個問題,允許路由更像是Rails或Codeigniter路由,其中控制器方法在路由定義中。方法名稱在routeProvider.when選項中設置,並且該指令在路由模板中設置。 參見:https://stackoverflow.com/a/22714634/250991
謝謝!你救了我的一天! –