小编Jid*_*ide的帖子

如何扩展jquery ui小部件?(1.7)

我想创建一个可排序小部件的自定义版本.我一直在寻找文档,但找不到真正准确的东西.我找到的最好的信息是:http://jqueryui.pbworks.com/Widget-factory.

我试过了 :

$.widget("ui.customsortable", $.extend($.ui.sortable, {
  _init: function() {
    $.widget.prototype._init.apply(this, arguments);
  }
}));
Run Code Online (Sandbox Code Playgroud)

但$ .widget.prototype._init不是我想调用的函数我猜是因为它是$ .widget原型.

然后,我尝试了我在这里和那里读到的东西:

var _init = $.ui.sortable.prototype._init; 

$.widget("ui.customsortable", $.extend($.ui.sortable, {
  _init: function() {
    _init.apply(this, arguments);
  },
}));
Run Code Online (Sandbox Code Playgroud)

但是:

  • 我不敢相信我必须存储我想要覆盖的所有方法,它是如此丑陋.
  • 它抛出一个错误("this.refresh不是函数"),这意味着刷新方法不存在.这是否意味着我必须重新创建我想要覆盖的所有方法?在这种情况下扩展有什么意义?

我在这里错过了什么吗?

谢谢你的帮助 !

javascript jquery jquery-ui

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

如何使用webpack将相对路径别名为自定义路径?

一个项目使用模块A.

该模块需要具有本地路径,例如require('./otherModule').

如何使webpack从另一个目录解析此路径,如果它不存在则回退到正常解析?

webpack

8
推荐指数
2
解决办法
2984
查看次数

Meteor:使用Blaze更新集合后强制重新呈现整个模板

我有一个模板,其中DOM被更改,我想在保存到数据库时重新呈现模板.在Blaze之前,如果模板中某处存在反应变量,Meteor会重新渲染整个模板,但现在我该怎么做?

我有一个在Iron路由器路由中设置的剪辑集合:

ClipsController = RouteController.extend({
    data: function() {
      clips = Clips.find({}, {sort: {created: 1}});
      return {clips: clips};
    }
});
Run Code Online (Sandbox Code Playgroud)

剪辑的模板:

<template name="clips">
  {{#each clips}}
    {{> clip}}
  {{/each}}
</template>
Run Code Online (Sandbox Code Playgroud)

然后,我有一个剪辑模板:

<template name="clip">
  <article class="clip" id="{{_id}}">
    {{{content}}}
    <ul class="tags">
      {{#each tags}}
        <li><a href="/#{{this}}">#{{this}}</a></li>
      {{/each}}
    </ul>
  </article>
</template>
Run Code Online (Sandbox Code Playgroud)

此模板的脚本更改DOM然后保存剪辑:

Template.clip.events({
  'click .edit': function(event, template) {
    template.$('.tags li').each(function() {
      $(this).text($(this).text().replace(/^#(.*)/, "$1"));
    });
  },

  'click .save': function(event, template) {
    var data = {
      //...
    };

    Clips.update({_id: this._id}, …
Run Code Online (Sandbox Code Playgroud)

meteor meteor-blaze

7
推荐指数
1
解决办法
9763
查看次数

如何使用请求使用转换流?

基本上,我想在使用转换流将http响应发送到客户端之前更改它,但我的代码会抛出错误:[错误:写完后].

http://nodejs.org/api/stream.html#stream_writable_end_chunk_encoding_callback上的文档说:

在调用end()之后调用write()将引发错误.

在这种情况下,如何防止在end()之后调用write()?

var request = require('request');
var Transform = require('stream').Transform;
var http = require('http');

var parser = new Transform();
parser._transform = function(data, encoding, done) {
  console.log(data);
  this.push(data);
  done();
};

parser.on('error', function(error) {
  console.log(error);
});

http.createServer(function (req, resp) {
  var dest = 'http://stackoverflow.com/';
  var x = request({url:dest, encoding:null})

  x.pipe(parser).pipe(resp)
}).listen(8000);
Run Code Online (Sandbox Code Playgroud)

stream request node.js

6
推荐指数
1
解决办法
3400
查看次数