是弹出库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/