2015-02-09 151 views
3

動態路由PHP和AngularJS

.when('/FOO', { 
 
\t \t templateUrl: 'app/components/forums/id/forums.php' 
 
})
<td><a ng-click="setRoute('FOO')"href="forums.php?id=<?= $f_id;?>"><?php echo $f_name;?></a></td>

SOOOO。

一些背景。我正在做一個論壇,我想用AngularJS來做。

F_id and F_name已被聲明較早。 (這裏沒有真正與問題相關)

我想做的是動態路由。我怎樣才能使角與php的工作?id = id機制?所以當我點擊該論壇時,它會打開正確的論壇?

  • 動態路由,怎麼樣?
+0

你必須決定,你想通過href和刷新頁面角路由或導航,如果要加載從PHP的內容,我建議你在控制器上的路線,要通過PARAMS定義控制器,然後使用$ http.get()來獲得你想要的內容 – szapio 2015-02-09 12:22:24

回答

2

那麼你想從以下形式的路線開始,你的模板應該是通用的,並顯示爲論壇提供的值,該論壇的詳細信息將被傳遞給ForumController。

.when('/FOO/:id', { 
     templateUrl: 'app/components/forums/forums.php', 
     controller: 'ForumController', 
     resolve: { 
      forum: function ($routeParams) { 
      // fetch your forum details here using $routeParams.id 
      } 
     } 
}) 

雖然完整性我要指出,你實際上可以定義templateUrl的功能,這樣就可以返回一個動態模板,如果你真的想,但我懷疑這是不是你想要的。

.when('/FOO/:id', { 
     templateUrl: function ($routeParams) { 
      return 'app/components/forums/' + $routeParams.id + '/forums.php'; 
     } 
}) 
+0

例如,如何完成該傳遞? – 2015-02-09 13:50:02

+0

請參閱我上面的編輯,如果您的PHP腳本已從url中獲取forumId並正確呈現頁面,則在此情況下,您可以將templateUrl定義爲將返回模板的函數。 – thedoctor 2015-02-09 14:08:58