小编Pat*_*mer的帖子

我应该使用ember.js的ember数据吗?

在我正在研究的项目中,我们正在使用没有ember-data的ember.js(1.0rc1),到目前为止它已经很好了.我们决定不使用ember-data的原因是我们已经有了一些实用程序方法来处理与REST接口的集成,而且因为ember-data不是ember.js的一部分.

来自emberjs.com:

目前,Ember Data作为Ember.js的独立库提供,同时我们扩展了适配器API以支持更多功能.但是,本节中描述的API趋于稳定.在将Ember Data作为标准发行版的一部分包含在内之前,您可以从GitHub页面获取副本.

所以,我的问题和我正在寻找的输入:

  • 我们用这种方法输了多少钱?(除了REST集成)
  • 实际上也可能没有使用ember-data开始的人的经历,现在已经迁移到ember-data
  • ember-data的成熟度及其与ember.js的集成

还有一个问题,可能更适用于ember.js/ember-data devs:

  • 什么是将ember-data集成到ember.js中的路线图以及对API的影响有多强?

感谢您分享您的经验并提供一些提示和建议.// ph

ember.js

11
推荐指数
1
解决办法
1400
查看次数

对象属性数组(服务器上的枚举)和ember复选框组之间的双向绑定

我正在寻找一种解决方案,将包含字符串数组(表示服务器上的枚举)的对象属性绑定到复选框列表.绑定应该是双向的.

在服务器上,我们有一些枚举定义,例如,具有值"ADMIN","GUEST","USER"的角色.用户对象可以具有多个这样的角色,因此Ember中的用户对象具有该形式

App.User = Ember.Object.create({
    roles: ["USER", "ADMIN"]
});
Run Code Online (Sandbox Code Playgroud)

在用户管理中,应该有一组复选框.每个角色一个复选框.因此,可以选择无,全部或几个.

我知道有Ember.Checkbox可以用于此的视图.我正在寻找的是一个简单而通用的视图来处理上面提到的任何类型的枚举.

因此,问题是:

  • 有人为此提供了一个很好的解决方案吗?
  • 有没有人知道一个开源项目为ember提供这样的扩展?

提前致谢.// ph

ember.js

8
推荐指数
1
解决办法
3322
查看次数

来自Hibernate App的查询不使用DB索引

我尝试解决我的应用程序的性能问题.查询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)

哪里

  • id是主键
  • (a,b,id)上有一个组合的唯一索引.
  • view_user有大约200万条目
  • view_user对其他表执行一些进一步的连接

问题

以上查询从SQLDeveloper快速执行 - 从具有hibernate的小型Java应用程序快速执行 - 从具有hibernate的应用程序极慢(> 100x) - 绑定变量的值分别为2(来自分页的rownum起源) - hibernate查询是上面的"形式".视图中实际上有大约20列.

目前的分析状况

  • 查询计划显示当查询来自SQlDeveloper或"小型Java应用程序"时使用索引.
  • 查询计划显示如果查询来自hibernate应用程序,则执行全表扫描
  • 数据库跟踪只显示两个不同之处:NLS设置(来自SQLDeveloper)和略有不同的格式(空格).其他一切似乎都是一样的......

版本

  • 休眠:2.1.8
  • jdbc驱动程序:使用ojdbc14,5和6.没有区别
  • Oracle:10.2和11.没有任何区别

=>我很高兴有人可能会对这个问题提出一些暗示.让我感到困扰的是,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)

oracle indexing performance hibernate

5
推荐指数
2
解决办法
3017
查看次数

从模板访问模型

使用ember,我发现有时模型存储在控制器的content属性中,有时模型也可以在控制器上直接使用.但是,我不明白,在这种情况下.

让我通过组装我的余烬MVC时发现的一个例子来解释它.

设置A - 开始

  • 我定义了一个自定义Member对象,相应的MemberRoute,MemberView类和一个名称模板member.
  • Member对象有一些属性,如id,nickname
  • 注意:没有MemberController定义表单的控制器,因此通过ember的约定,它自己提供控制器.

设置B - 自定义

  • 与设置A相同,但现在有一个MemberController定义包含从模板中触发的一些操作方法.

奇怪的行为(分别是我不完全理解的)

  • 在设置A中,我可以Member直接用{{id}}或引用它的属性{{nickname}}.
  • 在设置B中,我必须使用{{content.id}}{{content.nickname}}

如ember的文档中所记录的MemberView那样

setupController : function(controller, member) {
    controller.set('content', member);
},
Run Code Online (Sandbox Code Playgroud)

那么,有人可以帮助我理解为什么差异和差异在哪里?目前,我的猜测也是

  • 模板的上下文是不同的(可能在控制器的设置中缺少代码片段?)

要么

  • 由ember自动提供的默认控制器具有一些额外的魔力,不能直接用于自定义控制器.

任何帮助理解这一点是非常感谢的.到目前为止,我已经花了很长时间.我首先想到的可能是项目设置与requireJS引入的模块化(好吧,我仍然认为可能会产生影响).Ember是v1.0pre4.

提前致谢!帕特里克

ember.js

5
推荐指数
1
解决办法
2936
查看次数

使用foreach时将match语句转换为partial函数

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忽略不匹配的值),或者我应该忽略提示?

foreach scala intellij-idea pattern-matching

5
推荐指数
1
解决办法
4401
查看次数