【问题标题】:Defining and editing variables inside template在模板中定义和编辑变量
【发布时间】:2014-06-28 10:27:41
【问题描述】:

在我的 play 应用程序中,我试图通过单击与项目相同的表格行中的按钮,为用户提供编辑他从表格中选择的特定项目的机会。

更准确地说,用户将编辑已报名参加考试的学生。单击他要编辑的考试后,将打开一个模式。在模态框内,一个表格将显示所有可用的学生,并选中已注册学生的复选框。

我唯一的问题是:如何通过模式传递用户想要编辑的考试 ID?据我研究,我无法在模板内定义和编辑变量。在 Angular 中,我只需要修改作用域中的一个变量。

这样做的正确方法是什么?

【问题讨论】:

  • 表格行中的那个按钮,你是如何触发模态显示的? (onclick=xxx(), jQuery 点击事件监听器, ?)
  • 现在它只是按钮标签中的 data-toggle="modal" data-target="#myModal" 。但如果这样更容易,我愿意以不同的方式做。顺便说一下,模态是标准的引导模态。我确实意识到我可以通过将用户重定向到具有新路由和examId 作为参数的新页面来解决整个问题,但我想在模态的同一页面上执行此操作。
  • stackoverflow.com/questions/13056747/…查看这篇文章的评论你可以更新变量

标签: java scala playframework


【解决方案1】:

将初始化数据从后端移动到前端的一般原则是使用模板引擎将其注入到某个地方的标记中。在您的情况下,无论您在模板中使用什么循环来呈现表格行,您只需将 ID 放在表格中它自己的单元格中,在 classid 属性中,或者可能最合适的是,在表格行上的 data- 属性。我想说这些选项中的每一个都几乎相同,主要是在美学上有所不同。

然后,在您的点击处理程序中,您只需使用事件目标上的相对选择器将 ID 拉入您的脚本中,无论您将其存放在何处。

另一种方法是在前端呈现表格,通过 API 从后端提取这些信息,采用单页应用程序的样式。然后,ID 和数据之间的关联在模型渲染之前就存在于模型中。对于这个示例来说,这可能有点过头了,但如果您与十几个此类屏幕具有丰富的交互性,我认为这是一种更具可扩展性的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多