首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Backbone-forms + Zepto无法呈现

Backbone-forms + Zepto无法呈现
EN

Stack Overflow用户
提问于 2012-09-02 23:14:21
回答 1查看 244关注 0票数 0

我正在为黑莓OS5开发一个应用程序使用Phonegap + Zepto + Backbone。为了做到这一点,我一直在使用Backbone-forms来处理提交,但是由于OS5在1.4.4以上的jQuery版本上有问题,我转移到了Zepto,但是BackboneForms上的render方法停止工作了,有人能帮我吗?

这里是它中断的地方,完整的代码请查看这里https://github.com/powmedia/backbone-forms

代码语言:javascript
复制
render: function() {
  var self = this,
      options = this.options,
      template = Form.templates[options.template];

  //Create el from template - HERE IT BREAKS
  var $form = $(template({
    fieldsets: '<b class="bbf-tmp"></b>'
  }));

  //Render fieldsets
  var $fieldsetContainer = $('.bbf-tmp', $form);

  _.each(options.fieldsets, function(fieldset) {
    $fieldsetContainer.append(self.renderFieldset(fieldset));
  });

  $fieldsetContainer.children().unwrap();

  //Set the template contents as the main element; removes the wrapper element
  this.setElement($form);

  if (this.hasFocus) this.trigger('blur', this);

  return this;
},

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-05 21:49:43

Zepto,backbone和under并没有正式支持BB5.0浏览器-- BB5.0的引擎盖下有芒果,不像BB6.0以上的浏览器有webkit。除此之外,根据我的经验,我可以说BB5.0对javascript的支持并不是很好。所以解决这个问题有点像大海捞针。

一个可能的罪魁祸首是下划线,这就是我看到你在模板中使用的东西。在BB5.0上,下划线似乎不能处理任何类型的逻辑模板(任何循环或if语句)。因此,如果您想在模板中执行比基本数据绑定更复杂的操作,则需要修改下划线或使用自己的模板解决方案。

我不确定这是否是你想要的答案,但希望它能有所帮助。。。

编辑:

Re下划线模板问题:BBOS5.0上的本地foreach实现似乎存在问题。下划线将此原生foreach称为可用。注释掉下划线中的以下行修复了我们在OS5.0中的集合渲染:

代码语言:javascript
复制
/* if (nativeForEach && obj.forEach === nativeForEach) {
     obj.forEach(iterator, context);
} else */

希望这能有所帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12237085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档