gpt4 book ai didi

ember.js - Ember 关注实现

转载 作者:行者123 更新时间:2023-12-02 09:12:20 25 4
gpt4 key购买 nike

您将如何在 ember 中实现关注点。例如,发送邀请功能:

  • 用户有 5 个邀请(涉及获取数据的商店)
  • 任何申请状态均可邀请
  • 它出现在模态中
  • 它可以不止一个 - 因此 {{outlet modal}} 不起作用
  • 用户可以输入电子邮件并发送邀请(可用邀请数量减少)

当前模式实现 - 因此无法将 Controller 分配给 View ...

openModal: function(modal) {
var modalView = this.container.lookup(modal);
modalView.appendTo(MS.rootElement);
}

组件方法对我来说不起作用:内容(模型)应该通过路由设置,我不知道组件中的事件对于数据获取有用。

嵌套路由不太有效 - 需要改变太多。

我找不到任何可行的方法,请帮忙。

提前致谢。

最佳答案

您可以将 Controller 分配给 View 。这是一个简单的示例,我可以从页面中的任何位置注入(inject) View ,为其分配一个 Controller ,当我重新弹出 View 时,它具有相同的 Controller (如果这是预期的结果)。如果这不能让您朝着正确的方向前进,请告诉我。

您也可以使用冒泡来允许从应用程序中的任何位置调用它。

http://emberjs.jsbin.com/uhoFiQO/4/edit

App.InviteView = Ember.View.extend({
templateName: 'invite'

});

App.InviteController = Ember.Controller.extend({
actions: {
pretendToSend: function(){
var invites = this.get('invites');
this.set('invites', invites-1);
}
}
});

App.ApplicationRoute = Ember.Route.extend({
setupController: function(controller, model){
var inviteController = this.controllerFor('invite');
inviteController.set('invites', 5);
},
actions:{
popInvite: function(){
var inviteController = this.controllerFor('invite');
// create/insert my view
var iv = App.InviteView.create({controller: inviteController});
iv.appendTo('body');
}
}
});

关于ember.js - Ember 关注实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19813778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com