在我正在研究的项目中,我们正在使用没有ember-data的ember.js(1.0rc1),到目前为止它已经很好了.我们决定不使用ember-data的原因是我们已经有了一些实用程序方法来处理与REST接口的集成,而且因为ember-data不是ember.js的一部分.
来自emberjs.com:
目前,Ember Data作为Ember.js的独立库提供,同时我们扩展了适配器API以支持更多功能.但是,本节中描述的API趋于稳定.在将Ember Data作为标准发行版的一部分包含在内之前,您可以从GitHub页面获取副本.
所以,我的问题和我正在寻找的输入:
还有一个问题,可能更适用于ember.js/ember-data devs:
感谢您分享您的经验并提供一些提示和建议.// ph
我正在寻找一种解决方案,将包含字符串数组(表示服务器上的枚举)的对象属性绑定到复选框列表.绑定应该是双向的.
在服务器上,我们有一些枚举定义,例如,具有值"ADMIN","GUEST","USER"的角色.用户对象可以具有多个这样的角色,因此Ember中的用户对象具有该形式
App.User = Ember.Object.create({
roles: ["USER", "ADMIN"]
});
Run Code Online (Sandbox Code Playgroud)
在用户管理中,应该有一组复选框.每个角色一个复选框.因此,可以选择无,全部或几个.
我知道有Ember.Checkbox可以用于此的视图.我正在寻找的是一个简单而通用的视图来处理上面提到的任何类型的枚举.
因此,问题是:
提前致谢.// ph
我尝试解决我的应用程序的性能问题.查询hibernate生成的形式如下:
select *
from (
select this.a, this.b, this.state, this.id
from view_user this
where this.state=:1 order by this.a asc, this.b
)
where rownum <= :2
Run Code Online (Sandbox Code Playgroud)
哪里
问题
以上查询从SQLDeveloper快速执行 - 从具有hibernate的小型Java应用程序快速执行 - 从具有hibernate的应用程序极慢(> 100x) - 绑定变量的值分别为2(来自分页的rownum起源) - hibernate查询是上面的"形式".视图中实际上有大约20列.
目前的分析状况
版本
=>我很高兴有人可能会对这个问题提出一些暗示.让我感到困扰的是,DB跟踪没有显示出任何差异...是的,它看起来像是关于休眠的东西.但是什么?怎么检测?
为了完整起见,这里是hibernate查询(来自日志):
Select * from (
select this.USER_ID as USER_ID0_, this.CLIENT_ID as CLIENT_ID0_,
this.USER_NAME as USER_NAME0_, this.USER_FIRST_NAME as USER_FIR5_0_, this.USER_REMARKS as
USER_REM6_0_, this.USER_LOGIN_ID as USER_LOG7_0_, this.USER_TITLE as USER_TITLE0_,
this.user_language_code as user_lan9_0_, …Run Code Online (Sandbox Code Playgroud) 使用ember,我发现有时模型存储在控制器的content属性中,有时模型也可以在控制器上直接使用.但是,我不明白,在这种情况下.
让我通过组装我的余烬MVC时发现的一个例子来解释它.
设置A - 开始
Member对象,相应的MemberRoute,MemberView类和一个名称模板member.Member对象有一些属性,如id,nickname等MemberController定义表单的控制器,因此通过ember的约定,它自己提供控制器.设置B - 自定义
MemberController定义包含从模板中触发的一些操作方法.奇怪的行为(分别是我不完全理解的)
Member直接用{{id}}或引用它的属性{{nickname}}.{{content.id}}或{{content.nickname}}如ember的文档中所记录的MemberView那样
setupController : function(controller, member) {
controller.set('content', member);
},
Run Code Online (Sandbox Code Playgroud)
那么,有人可以帮助我理解为什么差异和差异在哪里?目前,我的猜测也是
要么
任何帮助理解这一点是非常感谢的.到目前为止,我已经花了很长时间.我首先想到的可能是项目设置与requireJS引入的模块化(好吧,我仍然认为可能会产生影响).Ember是v1.0pre4.
提前致谢!帕特里克
IntelliJ给了我一个以下代码的提示:
val l = List(0, "1", 2, "3")
l.foreach{_ match {case xx:Int => println(xx);case _ =>}}
Run Code Online (Sandbox Code Playgroud)
提示是"将匹配语句转换为部分函数"
当我改变foreach
l.foreach{case x:Int => println(x)}
Run Code Online (Sandbox Code Playgroud)
我得到了scala.MatchError例外.我可以使用collect而不是foreach产生List从未使用过的结果.
有没有一些常见的方法来处理这个问题(像foreach忽略不匹配的值),或者我应该忽略提示?