【问题标题】:Adding Dropbox chooser using ember使用 ember 添加 Dropbox 选择器
【发布时间】:2013-06-01 18:22:23
【问题描述】:

我正在尝试将 Dropbox 选择器 集成到我的 ember 应用程序中。这是dropbox 生成的sn-p。

<script type="text/javascript" src="https://www.dropbox.com/static/api/1/dropins.js" id="dropboxjs" data-app-key="XXXXXXXXXXX"></script>

<input type="dropbox-chooser" name="selected-file" id="db-chooser"/>
<script type="text/javascript">
    document.getElementById("db-chooser").addEventListener("DbxChooserSuccess",
        function(e) {
            alert("Here's the chosen file: " + e.files[0].link)
        }, false);
</script>

这就是我尝试在 ember 中实现它的方式。

在应用程序布局文件中包含&lt;script type="text/javascript" src="https://www.dropbox.com/static/api/1/dropins.js" id="dropboxjs" data-app-key="XXXXXXXXXXX"&gt;&lt;/script&gt;

window.App = Ember.Application.create({
  rootElement: '#ember-app',

  customEvents: {
    DbxChooserSuccess: "DbxChooserSuccess"
  },

)};

App.TestView = Em.View.extend({
  templateName: "test_view",

  tagName: "li",

  testAction: function(e) {
    alert("DbxChooserSuccess event triggered");

  }

});

//test_view.js.hjs
<input type="dropbox-chooser" name="selected-file" id="db-chooser" {{action "testAction" on="DbxChooserSuccess" target="view"}}/>

这不起作用。我的问题是我们如何将自定义事件监听器添加到 ember 中的 html 元素

【问题讨论】:

  • Ember 只知道发生在 body 内的事件,因为这是 ember 挂钩以进行事件委托的地方,你的 dropbox sn-p 是否存在于 body 标签内?

标签: javascript ruby-on-rails ember.js dropbox


【解决方案1】:

直接通过javascript使用Dropbox选择器怎么样(在the chooser documentation页面的中间)

javascript:

App.IndexController = Ember.ArrayController.extend({
  dropboxChooser: function() {

    Dropbox.choose({
      linkType: "direct",
      multiselect: false,
      success: function(files) {
                // Required. Called when a user selects an item in the Chooser
                alert("Here's the file link:" + files[0].link);
      },
      cancel:  function() {}
    });
  }
});

模板:

<button {{action dropboxChooser}}>Choose Dropbox File</button>

Sort of functional JSBin (no valid data-app-key)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-28
    • 1970-01-01
    • 1970-01-01
    • 2013-04-22
    • 1970-01-01
    • 2017-10-31
    相关资源
    最近更新 更多