2012-04-06 46 views
1

我的问题是:
“像ExtJS4中的项目一样,在MVC中使用XTemplates进行操作的正确方法是什么?” ExtJS4 XTemplates in view;


> XTemplates是否应该在YourApp中。 查看或在YourApp中。 控制器
ExtJS4文档只是展示了如何在一些数据中使用XTemplates,但我还没有见过类似MVC的示例。
所以,

  • 我们的XTemplates应该在哪里发生?
  • XTemplate可以从控制器获取一些变量作为参数吗? (万一我会得到控制,每一次,他们应该传递给XTemplate这些数据变化的一些计算出的数据,这XTemplate应该形成并呈现新的模板到网页;

PS
对不起,我的英语,感谢您的帮助;

回答

2

我不是专家,但我可以和你/ SOF的一些想法分享,希望能帮助你了解更多的ExtJS的模板引擎

非常一般。术语来说,XTemplate是一个视图/控件(网格,texfield,等)是建立在。 extjs中的每个组件控件都有一个“Tpl”或“fieldSubTpl”或“subTpl”etc .. config选项,它是用于呈现组件UI的XTemplate。

所以,假设你使用extjs本地类“Ext.form.field.TextArea”,它表示一个输入文本控件,如果你看看extjs框架的源代码(我认为人们经常忘记检查源代码代码,学习并从中获得灵感,掌握一些事情,了解extjs dev。团队如何做),并找到它的类定义,并且您将能够看到如何使用XTemplate。所以我想如果你能检查出来并理解它,ofc,sencha docs是一个宝贵的资源,你已经有了一些答案。

XTemplate接受一个包含数据/单个对象的数组,其属性需要与XTemplate中的变量相匹配,因此您得到了一个代表一个人和一个属性名称的对象,例如person.Name,所以在您的xtemplate中将会使用{名称}在xtemplate中。你提到在控制器中进行一些计算,然后将它传递到XTemplate中,这可以做到,但请记住XTemplate支持自定义函数,它可以在渲染Xtemplate之前操作数据,如本例中所示从煎茶文档http://docs.sencha.com/ext-js/4-0/#!/api/Ext.XTemplate

如果你想它使用XTemplates明确的MVC应用程序,你可以检查从煎茶这里http://docs.sencha.com/ext-js/4-0/#!/example/feed-viewer/feed-viewer.html

我希望它可以帮助你“MVC频道浏览器”应用程序。

复活节快乐!

+0

虽然它不是我的问题的最“有关”的答案,但它确实有帮助。感谢你和复活节快乐;) – ted 2012-04-08 14:21:22