小编cha*_*m15的帖子

为什么在Backbone.js中第二次渲染后事件没有触发?

我在Backbone.js中创建了一个具有父视图和多个子视图的应用程序.子视图包含他们收听并执行功能的链接.

父级存储所有子视图的列表.在render函数中,在完成计算自己的html之后,它会执行以下操作:


$(this.el).html(html);
for (var i = 0; i < this.views.length; i++){
    $('.children', this.el).append(this.views[i].render().el);
}
Run Code Online (Sandbox Code Playgroud)

答案:问题是我在渲染过程中创建了链接.即第一次渲染(从init调用),事件成功绑定到链接.但是,由于以下所有的render调用都会重新创建整个元素,因此新链接没有绑定到它的处理程序.这是通过添加this.delegateEvents()到渲染的@Tom Tu解决方案解决的

javascript jquery backbone.js

12
推荐指数
2
解决办法
5466
查看次数

如何处理apollo-link-state中的嵌套状态(类似于Redux的combineReducers)

如果我们看一下todos示例,假设应用程序有多个视图(TodoList页面和另一个页面).

因此,不是直接引用todo项的数组的"todos",而是在状态/存储/缓存的顶层,它实际上只是具有某些自身状态的视图.

在该视图中,我们定义了待办事项列表和可见性过滤器 - 因此状态/存储/缓存不会如下所示:

{
  todos: [TodoItem]
  0:?TodoItem:0
  completed: false
  id: 0
  text: "hh"
  visibilityFilter: "SHOW_ALL"
}
Run Code Online (Sandbox Code Playgroud)

但是:

{ 
  scenes: {
    TodoList: {
      todos: [TodoItem]
      0:?TodoItem:0
      completed: false
      id: 0
      text: "hh"
      visibilityFilter: "SHOW_ALL"
    },
    SomeOtherView: { /* other state */}
  }
}
Run Code Online (Sandbox Code Playgroud)

它甚至可能被孤立在它自己的数据"模块"中,就像这里提出的那样:https://medium.com/@alexmngn/how-to-use-redux-on-highly-scalable-javascript-applications-4e4b8cb5ef38:

{ 
  scenes: {
    TodoList: {
      data: {
        todos: [TodoItem]
        0:?TodoItem:0
        completed: false
        id: 0
        text: "hh"
      }
      visibilityFilter: "SHOW_ALL"
    },
    SomeOtherView: { /* other state */}
  }
}
Run Code Online (Sandbox Code Playgroud)

应用程序范围的状态将进一步存储一个级别: …

apollo react-apollo apollo-client apollo-link-state

12
推荐指数
1
解决办法
1425
查看次数

如何在C中唯一标识机器?

我想在C中唯一地识别一台机器.

以下是具有序列号的源,但不保证它们是唯一的或存在的(如可移动HDD或网卡).

  • CPU:我正在使用该cpuid指令,但是,除Pentium 3之外的任何处理器都没有实现序列号,即不相关.我可以使用处理器签名,但这对于每个处理器都不是唯一的.
  • 硬盘:?
  • BIOS :?
  • 主板:?
  • MAC地址:通过系统函数调用.

对于所有问号,我如何获得C中的序列号?如果您使用系统相关解决方案回答,请同时提供Windows/*nix.此外,对于Windows,请不要WMI.

谢谢!

c linux windows identification

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

在qt中更改svg的颜色

我有一个svg加载资源,但它是黑色的.如何将颜色更改为白色?

c++ qt svg

11
推荐指数
4
解决办法
8525
查看次数

如何仅在Backbone.js事件处理程序中指定子项?

我有一个视图,里面有一个视图(事实上,相同的视图,它的递归).我只希望内部视图处理来自'a'onclick事件的事件.我试图通过仅指定选择器中的直接子节点来完成此操作,但它不起作用.

iv试过:

events: { 
    'click >a': 'toggle'
},

和

events: { 
    'click > a': 'toggle'
},

但他们不工作,有什么建议吗?(注意:使用标签和类之类的操作不会起作用,因为视图是递归的(意味着内部和外部都具有相同的事件定义)

javascript jquery backbone.js

10
推荐指数
1
解决办法
3495
查看次数

如何使用样式表为Qt Widget而不是其子项设置样式?

我有一个:

class Box : public QWidget
Run Code Online (Sandbox Code Playgroud)

它有

this->setLayout(new QGridLayout(this));
Run Code Online (Sandbox Code Playgroud)

我试过做:

this->setStyleSheet( "border-radius: 5px; "
                     "border: 1px solid black;"
                     "border: 2px groove gray;"
                     "background-color:blue;");

this->setStyleSheet( "QGridLayout{"
                         "background-color:blue;"
                         "border-radius: 5px; "
                         "border: 1px solid black;"
                         "border: 2px groove gray;"
                     "}"
                   );

this->setObjectName(QString("Box"));
this->setStyleSheet( "QWidget#Box {"
                         "background-color:blue;"
                         "border-radius: 5px; "
                         "border: 1px solid black;"
                         "border: 2px groove gray;"
                     "}"
                   );
Run Code Online (Sandbox Code Playgroud)

但第一个只影响添加的项目,另外两个什么都不做.我希望盒子本身有圆角和边框(如何在行之间做线条的奖励).

如何让样式表影响Box小部件,而不是其子代?

c++ qt widget

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

是否有一种内联方式来混合使用c和c ++原型?

我想要一种内联方式来指定哪些原型应该包含在c ++中.例如:

       void ArrayList_insert(ArrayList *arrlst, void *data, int i);
IS_CPP void ArrayList_insert(ArrayList *arrlst, char *data, int i);
IS_CPP void ArrayList_insert(ArrayList *arrlst, Buffer *data, int i);

目前我在做:

#ifdef __cplusplus
extern "C" {
#endif

....C HEADERS..

#ifdef __cplusplus
}

....C++ HEADERS...

#endif

但它非常不方便,因为相同功能的重载在不同的地方.我可以只有两个不同的头文件,但这也很痛苦.因此,我正在寻找像我上面提出的内联解决方案.有谁知道这样做的方法?

c c++

10
推荐指数
2
解决办法
484
查看次数

如何在SQLite中获取子字符串的最后一个索引?

我在表格中有一个字符串:http://www.foo.com/hello/bar/baz我希望获得最后一个'/'之后的所有内容(在本例中为字符串'baz').

我可以做substr(str,lastIndexOf(str,'/')),但我不知道如何在SQLite中获取lastIndexOf.

sqlite

9
推荐指数
1
解决办法
5817
查看次数

如何在main之前调试崩溃?

我的程序在访问gdb中的main之前静态链接到许多库和崩溃.我如何诊断问题是什么?

c gdb

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

如何将subjectNameAlt扩展名添加到X509_REQ?

我正在创建一个CSR,它将由我的服务器处理.它需要设置subjectNameAlt,以便服务器可以处理它.我已经搜索了很多,并且只找到了如何使用普通的X509证书,而不是X509_REQ.我怎么能这样做(使用C和OpenSSL.即我需要相当于X509_get_ext_d2i但是X509_REQ)?

c openssl x509

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