ember.js - toastr 和 ember.js

标签 ember.js toastr

是弹出库toastr因为 ember 不喜欢的直接 dom 操作,所以不打算与 Ember 一起工作?
有没有像这样的其他库可以很好地与 ember 配合使用?

编辑

即使通过下面发布的工作示例,我也无法让它在本地工作。我终于用了Pine Notify这立即起作用。

最佳答案

这在 Ember 中运行良好,您只需要在正确的位置处理事件。 “正确的地方”取决于您的实现。如果您希望从 View 中的按钮触发它,您需要使用 {{action}}传递 Action 名称的助手。例子:

<script type="text/x-handlebars" >
    <button class="btn btn-info" {{action showInfo}}>Info</button>
</script>

在上面的模板中,我说按钮应该触发 showInfo事件,所以 Controller负责这个 View 应该有一个同名的函数:
App.ApplicationController = Em.ArrayController.extend({
    showInfo: function() {
        toastr.info('This is some sample information');
    }
});

您还可以让 View 处理事件;下面的代码定义了一个 click事件,因此如果您单击 View 中的任意位置,它将运行您的函数:
App.OtherView = Em.View.extend({
    click: function(e) {
        toastr.error('This is some sample error');
    }
});

在您的 Handlebars 模板中,您不必告诉操作,因为您已经在 View 类中说要处理 click该 View 的事件,因此您可以简单地渲染 View 并为其设置样式:
{{#view App.OtherView class="btn btn-danger"}}
    Error
{{/view}}

这是 JSFiddle 中的一个示例: http://jsfiddle.net/schawaska/YZwDh/

我建议您阅读关于 的 Ember 指南。 {{action}} helper

关于ember.js - toastr 和 ember.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15145399/

相关文章:

javascript - EmberJS 模型排序

ember.js - 如何知道为什么记录在 ember 数据中是脏的

javascript - Backbone 或 Ember 应该用于什么类型的站点/应用程序?

javascript - 使用 toastr 获取 'Cannot read property ' 然后“未定义”

jquery - Jquery 的好通知插件吗?

ember.js - 每当 {{input}} Ember Handlebars 帮助器的值发生变化时调用 Controller 方法

ember.js - "force"模型钩子(Hook)触发的最佳方法是什么?

javascript - 在offline.js中绑定(bind)事件

asp.net - 在 div 中居中 toastr 通知

javascript - Rails 4 - Toaster 通知而不是 flash 通知