Asg*_*oth 23 javascript php rest yii ember.js
我一直在研究Ember.js,它看起来真的很棒,但有一点让我担心,而且我无法理解它,如果我开始在已经运行的项目中使用它.
我最终是否必须移动客户端的所有内容,并在某些时候使我的应用程序成为单页应用程序?
让我澄清一下......
到目前为止,使用Ember在客户端和服务器之间进行通信的最佳方式是REST.这看起来很棒,但我不喜欢的是第一次加载所有模板.并将我服务器中的所有逻辑移动到客户端(或者我得到了所有这些错误?),因为看起来我的服务器端将成为无逻辑的REST API.
此外,我正在使用Yii Framework,它有一些JavaScript(支持Ajax)组件,如网格.如何在导航中使用ember与所有这些进行交互,而无需重写已经在我的应用程序上工作的一堆东西?
我在登录页面(或状态),然后在登录后,我必须显示一个网格,这对Yii来说很简单,并且整页加载,但如果我使用的是Ember,我怎么能拥有我的网格显示通常会如何?我是否必须预先加载网格的车把模板,以及控制它的JavaScript?
Imr*_*e L 10
不,您不应该将所有内容移动到客户端,尤其是可以绕过的身份验证和验证.
你移动到Emberjs的是MVC的yii-s View部分,控制器将输出即JSON.
然后,数据通过Ember路由和控制器等映射到Embers Model部件.
由于你用ember替换Yii的表示逻辑,你不应该使用像CGridView这样的Yii的UI类.混合它们可能是可能的,但这似乎不是一个好主意.你必须在Ember自己经营.
http://www.yiiframework.com/wiki/409/ember-js-with-yii-rest-backend-demo-application/
只是在这里添加Yii透视图.网格视图/列表的许多"神奇"发生在数据提供者中(用于复杂的搜索,排序和过滤),并且通过在模型上使用解析字段格式化数据.
因此,您可以使用相同的概念服务器端,只需从您自己的小部件中输出最终的JSON,分页和所有; 或者甚至只是在所有数据/配置处理之后覆盖网格视图并输出json而不是视图.
一旦你有了JSON而不是HTML,它很容易复制网格的前端,那里真的没有太多的功能.
这可能不太理想,但这意味着您不必将分页,搜索和过滤的所有逻辑移动到客户端.
TL; DR;
覆盖已经为其构建的功能的Yii小部件,并使用它们输出JSON而不是HTML.
归档时间: |
|
查看次数: |
1972 次 |
最近记录: |