【问题标题】:Ember Observe DOM ElementEmber 观察 DOM 元素
【发布时间】:2015-03-09 20:05:04
【问题描述】:

我有一个

<input type="file">

在我的 DOM 中。如果此输入中的文件发生更改,是否可以使用 Ember 技术触发操作,或者我是否必须使用第三方库(如 jquery-observe)?

【问题讨论】:

    标签: dom ember.js


    【解决方案1】:

    是的,当然有可能。

    您可以按如下方式创建文件字段组件:

    // put in components/file-field.js if you are using ember-cli
    
    import Ember from "ember"
    
    export default Ember.TextField.extend({
        type: 'file',
        attributeBindings: ['multiple'],
        multiple: false,
        change: function(event) {
            var input = event.target();
            if (!Ember.isEmpty(input.files)) {
                this.sendAction("filesChanged", input.files);
            }
        }
    });
    

    现在把它放在你的模板中代替你的

    {{file-field filesChanged="uploadFile"}}
    

    然后在控制器或您的一个路由中,此操作会冒泡,定义您的 uploadFile 操作:

    actions: {
        uploadFile: function(files) {
            // put your ajax call to upload the file(s) here
        }
    }
    

    虽然这足以让您开始学习,但我绝对建议在实际应用程序中使用类似 ember-cli-uploader 的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多