【问题标题】:routing between angularJs and playframeworkangularJs 和 playframework 之间的路由
【发布时间】:2016-06-06 19:10:48
【问题描述】:

我正在使用 restangular ngroute 和 playframework,我正在尝试按照本教程执行我的 CRUD:http://plnkr.co/edit/d6yDka?p=info

索引页面中的list.html和detail.html(在教程中),我把它们都放在customer.scala.html页面中,使用这个调用主页:@main(“MyApp”)所以所有我的控制器和模型在这个主页中定义。

那么我该如何进行路由,当我点击一个按钮时,我可以调用在我的 js 页面中定义的链接 (localhost:9000/custd):

app.config(function($routeProvider, RestangularProvider) {
    $routeProvider.
      when('/custd', {
        controller:ListCtrl, 
        templateUrl:'list.html'
      }).

更新: 这是 customer.scala.html 中的链接

 <li><a href="@routes.Application.custDetail()">Customers</a></li>

在 Application.scala 文件中我有这个:

 def custDetail = Action {
    Ok(views.html.custDetail("Your new application is ready."))
  }

在路线中我有这个:

GET     /                           controllers.Application.index

GET     /custdetail                 controllers.Application.custDetail

那么我怎样才能将这个:/custd(在角度控制器中)与我的 html 页面链接起来

【问题讨论】:

  • "how can I do the routing" 是一个非常模糊的问题,请详细说明您的具体问题是什么。
  • 请检查更新
  • 你看过play框架文档的javascript routing page吗?
  • 如果您在服务器上进行所有路由,很难弄清楚为什么需要角度路由器。如果您正在构建单页应用程序或服务器端应用程序,您似乎需要下定决心。
  • 我正在构建一个服务器端应用程序,所以我必须为每个班级使用 restangular 进行 CRUD。例如,此链接 /custd 必须向我显示与 customerdetail 相关的页面。 (我是初学者)

标签: html angularjs scala playframework restangular


【解决方案1】:

所以我认为你在这里有点跳入深渊。如果您不了解如何制作一个简单的游戏网络应用程序,并且您不了解如何制作一个简单的 Angular 应用程序,那么尝试立即将两者集成可能不是最好的主意(当我尝试相同的事情时)是新手,而且很复杂!)。

您为什么选择 Angular 来完成这个给定的工作?如果您不打算创建单页应用程序(听起来您似乎没有),那么仅使用播放模板就足以满足您的需求(并且有很多可用的文档!)。

如果您坚持使用这两者,那么角度布线适用于角度应用。查看您提供的路由:

app.config(function($routeProvider, RestangularProvider) {
    $routeProvider.
      when('/custd', {
        controller:ListCtrl, 
        templateUrl:'list.html'
      }).

在此您提供了一个控制器和一个模板。这些是参考 Angular 控制器的 html 模板,而不是 Play。如果你不确定 Angular 控制器是如何工作的,Angular 有很好的文档:

https://docs.angularjs.org

您需要从服务器端准确计算出您需要哪些信息,创建一个端点以将该数据提供给您的 Angular 应用程序(使用 AJAX 调用)。我知道这是一个高级别的答案,但真正将两者结合起来非常复杂,很难在一个回复中总结。我的建议是专注于创建一个 Angular 或 Play 应用程序,然后一旦你掌握了基础知识,就可以将两者结合起来,但要清楚选择你的技术背后的原因,因为听起来你可能不是

【讨论】:

  • 我在应用程序中使用 AngularJS 的原因是为了显示智能表格和其他组件,但我发现自己在角度控制器和其他控制器之间迷失了
  • 忽略控制器的概念,Angular 面向单页应用程序,其中所有内容都呈现在客户端。这意味着,如果您正在通过 Angular 应用程序加载资源(例如,您的示例中通过 /custdetail 的 html 页面),则需要已将其加载到客户端(用户设备)的浏览器中。如果您想从服务器获取一些数据,则需要通过 HTTP 请求访问它,因为客户端和服务器是远程的
  • 当我第一次学习 Angular 时,我使用了这个教程:campus.codeschool.com/courses/shaping-up-with-angular-js 它从非常简单的术语开始,虽然音乐和叙述很刺激,但很好地涵盖了所有重要的基础知识
猜你喜欢
  • 2016-03-06
  • 1970-01-01
  • 2016-04-15
  • 2013-05-24
  • 1970-01-01
  • 2020-03-28
  • 1970-01-01
  • 2017-05-19
  • 1970-01-01
相关资源
最近更新 更多