小编Mol*_*Man的帖子

mixin vs插件.选择什么?

假设我已经定义了几个新的组件- MyComponent1,MyComponent2......,这延长Ext.Component.

现在我想用相同的功能扩展所有这些小部件 - 我想添加close一个出现在右上角位置的按钮MyComponentX.el.

我该怎么用:mixinplugin?或者是其他东西?
总的来说mixin vs plugin,最佳做法是什么?

plugins extjs mixins extjs4

16
推荐指数
2
解决办法
5763
查看次数

ExtJS - 如何使用代理,模型?它们有什么关系?

我一直在努力学习使用模特和商店.但代理位让我很困惑.所以我将在这里列出我的理解 - 请指出我理解中的差距.

我的理解

  1. 模型用于表示域对象.
  2. 可以通过ModelManager创建模型,也可以只使用构造函数创建模型
  3. 模型保存在商店中
  4. 商店可以在内存商店中,也可以是服务器商店.这是使用代理配置的.
  5. 代理告诉商店如何与后备存储进行通信 - 是JSON数组,REST资源,还是通过ajax配置的简单URL.
  6. 商店负责存储模型,代理负责控制/帮助完成该任务.
  7. 更改模型的值时,dirty会设置其标志.保存模型时会自动清除它.(稍后会详细介绍)

困扰我的那部分

  1. 为什么模型上有proxy配置和save方法?我知道模型只能存储在商店中.
  2. 为什么dirty在将模型对象添加到商店时不会清除标志?
  3. 当我将模型对象添加到商店时,为什么模型不会获取使用该商店配置的代理?
  4. proxy是模型的静态配置.这是否意味着我们不能将特定模型的对象与多个数据源一起使用?通过扩展,这是否意味着单个模型的多个商店基本上没用?
  5. 当我们定义一个商店时,我们是定义一个类(商店类型,如果我们可以称之为),还是商店的实例?我问的原因是当我们声明一个网格时,我们只是将它传递给一个商店配置store: 'MyApp.store.MyStore'- 网格是否实例化了该类型的网格,或者它只是使用我们已经实例化的商店?

谢谢!

PS:解释所有这一切的人获得+50赏金:) - 将在48小时结束后提供赏金..

javascript proxy model store extjs4

15
推荐指数
1
解决办法
1万
查看次数

在控制器中使用什么代替getRequest() - > get(...)

最近我浏览了symfony2 api文档,这里是我在Request's get方法的文档中找到的:

避免在控制器中使用此方法:

  • 更喜欢从"命名"来源获得

那么"named" source我应该使用什么而不是get方法呢?

symfony

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

如何使用没有实体类的表单上传文件

我试图使用没有实体类的表单上传文件.到目前为止没有运气.

  // Controller
  public function uploadAction() {
    $request = $this->getRequest();
    $form = $this->createFormBuilder()
            ->add('images', 'file') // If I remove this line data is submitted correctly
            ->add('dir', 'text')
            ->getForm();

    if ($request->getMethod() == 'POST') {
      $request = $this->getRequest();
      $form->bindRequest($request);

      $data = $form->getData();
      var_dump($data);
    }   
    else
      return $this->render('OverseerMainBundle:Default:form.html.twig', array(
          'form' => $form->createView(),
      )); 
  }

// form.html.twig
{% block body %}
<form action="{{ path('OverseerMainBundle_upload') }}" method="post" {{ form_enctype(form) }}>
    {{ form_widget(form) }}

    <input type="submit" />
</form>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

到目前为止var_dump回声:

array(2) { ["images"]=> NULL …
Run Code Online (Sandbox Code Playgroud)

php symfony

6
推荐指数
2
解决办法
6214
查看次数

ExtJS4:为什么当我在商店中使用directFn配置时,我需要指定directCfg.method作为directFn的属性

最近我使用的是directFn配置:

var store = new Ext.data.Store({
    proxy: {
        type: 'direct',
        directFn: myDirectfn,
...
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为ExtJS引发了异常

未捕获的TypeError:无法读取未定义的属性'method'

在线

method = fn.directCfg.method;
if (method.ordered) {
Run Code Online (Sandbox Code Playgroud)

在文件中path/to/ext/src/data/proxy/Direct.js.经过一番挖掘,我发现它fn指的是myDirectfn功能.所以我刚添加了一些行:

myDirectfn.directCfg = {
    method: {}
};
Run Code Online (Sandbox Code Playgroud)

在我的代码中.之后,所有都开始正常工作(这里是小提琴).

所以问题是:这是什么样的神奇之处directCfg?为什么需要?

javascript extjs extjs4

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

如何重新加载TreeStore?

我有treestore的嵌套列表.在第一次加载时,商店被完美加载并且根据商店显示列表.当我单击刷新按钮时,我的树库应该重新加载新数据(与第一次具有相同的数据模型),并且嵌套列表也需要重新加载新的数据集.

下面是我的树店定义

rightPaneStoreData = getFolderListData();

rightPaneStore =new Ext.data.TreeStore({

   autoLoad:false,

   model: 'FIMT.models.rightPaneModel',

   root: rightPaneStoreData,
   proxy: {

   type: 'memory',

   reader: {

       type: 'tree',
       root: 'items'
       }

   },
   listeners: {
       datachanged: function(records){
           alert("datachanged");
           }
   }

   });

rightPaneStore.load();
Run Code Online (Sandbox Code Playgroud)

在Ext.data.JsonStore中,我使用store.loaddata()方法完成了相同的操作.但我无法找到TreeStore的loaddata()方法.

请帮助我.

extjs sencha-touch

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

如何使用任何其他名称更改树面板属性"text:",例如extjs中的"name:"

我是Extjs的新手,以下是我的代码:

children: [{
    text:'Basic Ext Layouts',
    expanded: false,
    children:[{
        text:'Absolute',
        id:'absolute',
        leaf:true,
    },{
Run Code Online (Sandbox Code Playgroud)

我试图让它变得像

children: [{
    name:'Basic Ext Layouts',
    expanded: false,
    children:[{
        name:'Absolute',
        id:'absolute',
        leaf:true,
    },{
Run Code Online (Sandbox Code Playgroud)

但它不起作用,请告诉我解决方案

extjs4

2
推荐指数
1
解决办法
3404
查看次数

为什么(false和false或true)返回true

var_dump(false and false || true);
// result: bool(false)
Run Code Online (Sandbox Code Playgroud)

(false and false || true) 按预期返回false.

var_dump(false and false or true);
// result: bool(true)
Run Code Online (Sandbox Code Playgroud)

但是(false and false or true)返回true.我没有合理的解释为什么会发生这种情况.

php operators operator-precedence

2
推荐指数
1
解决办法
263
查看次数