model-view-controller - Extjs 4 MVC 从 Controller 加载 View

标签 model-view-controller extjs

好的,所以我有一个 Controller ,其中有一个我想加载 View 的方法。

  • 如何从 Controller 加载 View ?
  • 加载时如何将一些参数从 Controller 传递到 View ?

  • 任何帮助深表感谢。

    最佳答案

    要加载 View ,您可以使用 Ext.widget() .使用Ext.define()在 View 文件中创建 View 。我建议使用 alias属性来定义 View 的内联 xtype。

    当需要加载 View 时,使用 Ext.widget() 创建 View 并指定 xtype(您的 View 的别名)。这是一个例子:

     // define a window
     Ext.define('MyApp.view.user.Add',
        extend: 'Ext.window.Window',
        alias : 'widget.adduser',
        .
        . // Add other properties, custom properties, methods, event handlers etc..
     });
    

    现在,当您想在用户 Controller 中创建实例时,您可以:
    // create an instance
     var view = Ext.widget('adduser'); // refer the below note!
    

    注:请注意,没有“小部件”。!它会自动添加到您传递的小部件名称中。

    现在,关于传递参数。像 Ext.create 方法一样,您应该能够将任何参数传递为:
     // create an instance with params
     var view = Ext.widget('adduser', {title: 'New User title'});
    

    关于引用 : refs 可帮助您获取对页面上 View 的引用。它们无助于创建实例或加载 View 。如果你渲染了你的 View ,你可以使用 ref 系统来获取那个实例并操作 View 。您需要使用 ComponentQuery以获得您的观点的引用。

    关于model-view-controller - Extjs 4 MVC 从 Controller 加载 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5890272/

    相关文章:

    extjs - 在 sencha cmd v6.5.1.240 中构建应用程序时出现错误 "com.sencha.exceptions.BasicException: GC overhead limit exceeded"

    javascript - 存储和远程过滤

    c# - 如何在 asp.net mvc 中渲染图像?

    java - Spring Boot 可以设置从 Controller 端点下载的文件的名称吗?

    javascript - Vue js,缺少从 HTML 到相关 JS 的映射

    javascript - 使用鼠标滚轮在桌面上的 Sencha Touch 应用程序中滚动

    c# - 实现涉及多个程序集的自定义 Controller 工厂

    javascript - 使用 Node.js 构建网站的最佳实践

    javascript - 无法使用 extjs4 读取和设置 Json 数据

    javascript - 避免 JavaScript/Sencha Touch/ExtJS 中嵌套匿名函数