首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在敲除绑定中使用dropzone.js

在敲除绑定中使用dropzone.js
EN

Stack Overflow用户
提问于 2015-07-07 14:42:46
回答 1查看 1.4K关注 0票数 5

我正试图让掉区作为一个淘汰赛的装订。我真的很想能..。

代码语言:javascript
复制
ko.bindingHandlers.dropzone = {
    init: function(element, valueAccessor, allBindingsAccessor, bindingContext) {
        $(element).dropzone({ url: 'some/tightly/bound/uri});
    }
}

。。但我不能。uri基于在视图模型中输入的数据是动态的,因此我到目前为止已经得出如下结论:

代码语言:javascript
复制
var dropzoneObject; // probably should be this.dropzoneObject

ko.bindingHandlers.dropzone = {
    init: function(element, valueAccessor, allBindingsAccessor, bindingContext) {
        var url = allBindingsAccessor().urlPath || "unknown";
        dropzoneObject = new Dropzone("div#" + element.id, {
            url: url, 
            init: ...,
            etc
        });
    },
    update: function(element, valueAccessor, allBindingsAccessor, bindingContext) {
        var url = allBindingsAccessor().urlPath || "unknown";
        dropzoneObject.options = {
            url: url
        };
    }
}

但是,当我测试这个时,我会得到以下错误:

代码语言:javascript
复制
Uncaught TypeError: Cannot read property 'trim' of undefinedDropzone.defaultOptions.addedfile 
@ dropzone.js:252Emitter.emit @ dropzone.js:58Dropzone.addFile 
@ dropzone.js:956(anonymous function) @ dropzone.js:563

为什么是undefinedDropzone?我错过了什么?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-07 17:03:54

找到答案后,我的update方法完成了编写所有选项(包括默认选项)的工作,而不是对其进行更新:

代码语言:javascript
复制
....
update: function(element, valueAccessor, allBindingsAccessor, bindingContext) {
    var url = allBindingsAccessor().urlPath || "unknown";
    dropzoneObject.options = {
        url: url
    };
}
....

应改为:

代码语言:javascript
复制
update: function(element, valueAccessor, allBindingsAccessor, bindingContext) {
    var url = allBindingsAccessor().urlPath || "unknown";
    dropzoneObject.options.url = url;
}

希望这能帮到别人!

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

https://stackoverflow.com/questions/31271850

复制
相关文章

相似问题

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