首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS和Play-Bootstrap:如何在@b3.mit中包含ng单击?

AngularJS和Play-Bootstrap:如何在@b3.mit中包含ng单击?
EN

Stack Overflow用户
提问于 2017-03-21 10:21:42
回答 1查看 65关注 0票数 0

我正在使用Scala 2.5.10、Play-Bootstrap和AngularJS 1.x,我需要从AngularJS处理一个表单提交。然后我试着:

代码语言:javascript
复制
@b3.submit('class -> "btn btn-danger", 
           'ng-click -> "runInSampleSimulation()") { 
                <span class="glyphicon glyphicon-cog"></span> Run Simulation 
}

但是ng-click没有被识别出来。我希望它能作为键值对(即<button type="@buttonType" @toHtmlArgs(innerArgsMap)>@text</button> 请看这里 )简单地传递到Map中。

因此,我只能选择回到下面这样的HTML计划:

代码语言:javascript
复制
<button type="submit" class="btn btn-danger" ng-click="runInSampleSimulation()">
    <span class="glyphicon glyphicon-cog"></span> Run Simulation
</button>

有办法将ng-click与b3挂钩吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-21 12:15:41

我决定通过更改form而不是submit按钮和使用ng-submit来实现这一点。

显然没什么解决办法。虽然我所希望的是符号是经过的,但由于某种原因,破折号-是模板的非法符号。因此,这将产生一个错误:

代码语言:javascript
复制
@b3.form(routes.Simulation.computeInSample, 'ng-submit -> "runInSampleSimulation()") {

因此,我将表格模板修改为一个自定义b3/ngform.scala.html,如下所示:

代码语言:javascript
复制
@(action: Call, args: (Symbol, Any)*)(body: => Html)(implicit fc: b3.B3FieldConstructor)
<form method="@action.method" ng-submit="@bs.Args.get(args, 'ngsubmit)&#40;'@action.toString'&#41;"
      class="@fc.formClass @bs.Args.get(args, 'class)"
      @toHtmlArgs(bs.Args.remove(bs.Args.remove(bs.Args.inner(args, 'role -> "form"), 'ngsubmit), 'class).toMap)>
@body
</form>

然后我可以这样用:

代码语言:javascript
复制
@b3.ngform(routes.Simulation.computeInSample, 'ngsubmit -> "runInSampleSimulation") {

生成我想要的东西:

代码语言:javascript
复制
<form class="form-horizontal ng-pristine ng-valid" 
      role="form" method="GET" ng-submit="runInSampleSimulation('/simulation/in/')">
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42924263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档