小编Exo*_*xos的帖子

AMD + Backbone + JSDoc3文档的最佳方式

我正在寻找记录我的代码的最佳方法,但我找不到任何东西.

我已经看到了其他主题,包括这个,但都没有解决我的问题.

我有这样的事情:

define([
    'backbone'
], function (Backbone) {

    /**
     * @module models/products
     */

    /**
     * Product model
     * @class
     */
    var Product = Backbone.Model.extend({
        /** @lends Product.prototype */

        /**
         * Some method
         * @param {String} name - Name of something
         * @return {something}
         */

         someMethod: function () {
             // ...
         }

    });

    /**
     * Products collection
     * @class
     */
    var Products = Backbone.Collection.extend({
        /** @lends Products.prototype */

        /**
         * @type {Product}
         */
        model: Product,


        /**
         * Some …
Run Code Online (Sandbox Code Playgroud)

javascript amd backbone.js jsdoc3

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

jQuery插件访问

我在jQuery中做了一个youtube播放器,我把它作为一个jQuery插件,例如:

 $.fn.extend({

        uplayList: {},

        CreateUplayList: function (options) {
            this.each(function  () {
                $(this).uplayList = new $.playList(this, options);
            });
        }
    });
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做:

$('#playlist').CreateUplayList({....});
Run Code Online (Sandbox Code Playgroud)

我希望在实例中访问:

$('#playlist').uplayList.play();
Run Code Online (Sandbox Code Playgroud)

这是行不通的,因为$('#playlist')是一个选择器.我在其他插件中看到类似的东西:

$('#playlist').pluginname('play');
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

javascript jquery plugins

4
推荐指数
1
解决办法
225
查看次数

调用匿名函数clousuring $ this

我正在使用PHP 5.3匿名函数,并尝试模拟基于原型的对象,如javascript:

$obj = PrototypeObject::create();

$obj->word = "World";

$obj->prototype(array(
    'say' => function ($ins) {
       echo "Hello {$ins->word}\n";
    }
));

$obj->say();
Run Code Online (Sandbox Code Playgroud)

这就是"Hello World",第一个参数是类的实例(比如python),但我想使用这个变量,当我调用函数时我会:

$params = array_merge(array($this),$params);
call_user_func_array($this->_members[$order], $params);
Run Code Online (Sandbox Code Playgroud)

尝试一下,结果如下:

call_user_func_array($this->_members[$order] use ($this), $params);
Run Code Online (Sandbox Code Playgroud)

试试,在__set方法中:

$this->_members[$var] use ($this) = $val;
Run Code Online (Sandbox Code Playgroud)

$this->_members[$var] = $val use ($this);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

php php-5.3

4
推荐指数
1
解决办法
810
查看次数

如何在 HTML5 Blob 对象上使用 base64 编码

我正在构建一个库来“节点化” HTML5 文件 Api(目前处于 alpha 阶段)[0],以使其处理二进制内容并且没有字符集问题,我正在使用 Buffer[1] 实用程序。

但是 HTML5 文件 API 使用 Blob 原生对象。实际上,我正在使用缓冲区编码中的“应用程序/八位字节流”类型和“二进制”类型。但是,我想使用 base64 以防止出现任何问题:

CoFS.prototype.writeFile = function (fileName, data, encoding, callback) {

    var self = this;

    if (Buffer.isBuffer(data)) {
        callback = encoding;
        encoding = undefined;
    } else {
        data = new Buffer(data, encoding);
    }

    this._ifready(function () {

        self.getFileEntry(fileName, {create: true, exclusive: true}, function (err, fileEntry) {

            if (err) return callback(new Error("Error getting file access " + err.message));

            fileEntry.createWriter(function(fileWriter) {

                fileWriter.onwriteend = function () {
                    callback(null);
                };

                fileWriter.onerror …
Run Code Online (Sandbox Code Playgroud)

html javascript blob html5-filesystem

3
推荐指数
1
解决办法
9860
查看次数

从Django表单序列化

我正在将传统的django网站迁移到API Restful。

我有一个大表格已经在工作。此表单当前是Django.forms.Form对象,我想将其提交到rest API点。

我想做一些类似于ModelSerializer的事情,但是要从Form对象而不是Model中进行。

这个项目有一些形式(不是基于模型的),我想重用这段代码。

遗憾的是,我找不到直接从Form执行序列化程序的方法。

我想做的例子

class LargeAndUgglyForm(forms.Form):

    email = forms.CharField(
        required=True,
        max_length=100,
        widget=forms.TextInput(
            attrs={
                'placeholder': _('Correo electrónico')}))

    password1 = forms.CharField(required=True, widget=forms.PasswordInput(
        attrs={'placeholder': _(u'Contraseña')}))

    password2 = forms.CharField(required=True, widget=forms.PasswordInput(
        attrs={'placeholder': _(u'Repetir contraseña')}))

    name_company = forms.CharField(
        required=True,
        max_length=100,
        widget=forms.TextInput(
            attrs={
                'placeholder': _('Nombre de la Empresa')}))

    # ... and much more fields


class SignupSerializer(???):
    Meta:
        form = LargeAndUgglyForm

    def create(self, validated_data):

        form_instance = LargeAndUgglyForm(validated_data)

        if form_instance.is_valid():
            # ...
Run Code Online (Sandbox Code Playgroud)

PS。对不起我的英语

django django-forms django-rest-framework

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