相关疑难解决方法(0)

在Backbone渲染方法中调用jQuery插件

我在Backbone中有一个渲染方法基本上是这样的:

render: function () {
  $.tmpl(this.template, attrs).appendTo(this.el);
  return this;
},
Run Code Online (Sandbox Code Playgroud)

从路由器动作调用:

action: function () {
  $('#container').empty();
  $('#container').append(myView.render().el);
},
Run Code Online (Sandbox Code Playgroud)

现在,我想label在此视图中的元素上应用插件.我的第一个想法就是调用插件render:

render: function () {
  $.tmpl(this.template, attrs).appendTo(this.el);
  this.$('label').inFieldLabels();
  return this;
},
Run Code Online (Sandbox Code Playgroud)

但这不起作用(我假设这是因为该元素尚未添加到DOM中).如果我在路由器操作中调用插件,它确实有效:

action: function () {
  $('#container').empty();
  $('#container').append(myView.render().el);
  myView.$('label').inFieldLabels();
},
Run Code Online (Sandbox Code Playgroud)

我宁愿不这样做,因为插件是视图的一部分,而不是路由器,所以在动作中调用它是没有意义的.有一个更好的方法吗?

jquery jquery-plugins backbone.js

14
推荐指数
3
解决办法
5636
查看次数

标签 统计

backbone.js ×1

jquery ×1

jquery-plugins ×1