首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ember.js中创建弹出模板

在Ember.js中创建弹出模板
EN

Stack Overflow用户
提问于 2013-12-04 13:47:06
回答 1查看 2.8K关注 0票数 0

我正在(试图)构建我的第一个成员应用程序。我有两个模板,用户和用户/编辑如下-

代码语言:javascript
复制
<script type = "text/x-handlebars" id = "user">
<div class="user-profile">
 {{#if deleteMode}}
            <div class="confirm-box">
                <h5>Really?</h5>
                <button {{action "confirmDelete"}}> yes </button>
                <button {{action "cancelDelete"}}> no </button>
            </div>
            {{/if}}
<button {{action "edit"}}>Edit</button>
<button {{action "delete"}}>Delete</button>
  <img {{bind-attr src="avatarUrl"}} alt="User's avatar" />
  <h2>{{name}}</h2>
  <span>{{email}}</span>
  <p>{{bio}}</p>
  <span>Created {{creationDate}}</span>
</div>

{{outlet}}

</script>

<script type = "text/x-handlebars" id = "user/edit">

<div class="input-group">
<div class="user-edit">
  <h4>New Agent</h5>
  <h5>Agent Avatar</h5>
  {{input value=avatarUrl}}

  <h5>User name</h5>
  {{input value=name}}

  <h5>User email</h5>
  {{input value=email}}

  <h5>User short bio</h5>
  {{textarea value=bio}}
</div>
<button {{action "save"}}> Save </button>
</div>
</script>

用户模板具有{outlet},在其中调用用户/编辑模板时会显示该模板。但是,我想让用户/编辑模板弹出,而不是仅仅出现在同一个页面上。我一直试图使用引导模式这样做,但没有取得很大的成功,因为我无法弄清楚物流。有没有人有更好的建议或者做这件事的方法?非常新的网页开发,所以尽量简单,请。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-04 14:50:44

几天前,我也做了同样的事情,然后通过做下面的工作,我得到了引导模式。我不知道这是否是一个好办法,但它做了我的工作。我是相当新的成员以及,所以请放心,科雷特我。

由于您没有提供更多的代码,所以请更改以下内容以满足您的需要。

在路由器中,捕获edit操作并将您的Modal-模板呈现到您想要的模板中。这可能看起来像这样。

代码语言:javascript
复制
App.UserRoute = Ember.Route.extend({

    actions: {
    edit: function() {
      return this.render('editmodal', { into: 'user', outlet: 'md' });
    },

    close: function() {
      return this.render('nothing', { into: 'user', outlet: 'md' });
   }    
}

});

单击“关闭”,它将nothing呈现到模板中(因为您希望关闭它)。

将表单数据放入编辑模式中。让它成为一个靴带模态。我只是把它写在草稿里,我想你得把它修好才行。

代码语言:javascript
复制
<script type = "text/x-handlebars" id = "editmodal">

<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<div class="input-group">
<div class="user-edit">
  <h4>New Agent</h5>
  <h5>Agent Avatar</h5>
  {{input value=avatarUrl}}

  <h5>User name</h5>
  {{input value=name}}

  <h5>User email</h5>
  {{input value=email}}

  <h5>User short bio</h5>
  {{textarea value=bio}}
</div>
<button {{action "save"}}> Save </button>
</div>
</div>
</div>
</div>
</script>

您还需要一个视图,这个视图可能如下所示:

代码语言:javascript
复制
App.EditmodalView = Ember.View.extend({ 
    didInsertElement: function() {
    var view;
    this.$('.modal').modal('show');
    view = this;
    return this.$('.modal').on("hidden.bs.modal", function(ev) {
      view.controller.send('close');
    });
  },

  layoutName: 'modal_layout',
  actions: {
    close: function() {
      this.$('.modal').modal('hide');
    }
  }

});

如您所见,我们在这里引用的是一个layoutName。通过这样做,您可以重用布局。您也可以让它成为,并将所有的东西放在一个模板中,但我喜欢它的可重用性。您的布局如下所示:

代码语言:javascript
复制
<script type = "text/x-handlebars" id = "modal_layout">
<div class="modal fade" role="dialog">{{yield}}</div>
</script>

在同样的尝试中,考虑一下nothing模板,一旦关闭模式,它就会在模板中呈现。

代码语言:javascript
复制
<script type = "text/x-handlebars" id = "nothing">
</script>

在您的User模板中,我刚刚向您的插座添加了一个名称。

代码语言:javascript
复制
<script type = "text/x-handlebars" id = "user">
<div class="user-profile">
 {{#if deleteMode}}
            <div class="confirm-box">
                <h5>Really?</h5>
                <button {{action "confirmDelete"}}> yes </button>
                <button {{action "cancelDelete"}}> no </button>
            </div>
            {{/if}}
<button {{action "edit"}}>Edit</button>
<button {{action "delete"}}>Delete</button>
  <img {{bind-attr src="avatarUrl"}} alt="User's avatar" />
  <h2>{{name}}</h2>
  <span>{{email}}</span>
  <p>{{bio}}</p>
  <span>Created {{creationDate}}</span>
</div>

{{outlet md}}

</script>

我在这里没有写的是在你的模式中处理你的保存事件。

希望这能帮你走。作为一个初学者,我知道Ember如何才能成为一项艰巨的任务。顺便说一句,我想我看到了一个关于同一个问题的很好的帖子,当我找到它的时候,我会把它发到这里。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20377043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档