2015-02-09 152 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