Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在EmberJS中显示/隐藏div?_Javascript_Ember.js - Fatal编程技术网

Javascript 如何在EmberJS中显示/隐藏div?

Javascript 如何在EmberJS中显示/隐藏div?,javascript,ember.js,Javascript,Ember.js,我也在寻找一些关于余烬最佳实践的建议,因为我还没有弄清楚如何处理一般的交互。这里讨论的交互是一个小菜单,当您单击下拉链接时可以切换 export default Ember.Component.extend({ classNames: ['dib'], isClicked: false, actions: { showMenu: function(){ this.toggleProperty('isClicked'); } } }); 我已经为这个

我也在寻找一些关于余烬最佳实践的建议,因为我还没有弄清楚如何处理一般的交互。这里讨论的交互是一个小菜单,当您单击下拉链接时可以切换

export default Ember.Component.extend({
  classNames: ['dib'],
  isClicked: false,
  actions: {
    showMenu: function(){
      this.toggleProperty('isClicked');
    }
  } 
});
我已经为这个下拉链接创建了以下组件

export default Ember.Component.extend({
  classNames: ['dib'],
  isClicked: false,
  actions: {
    showMenu: function(){
      this.toggleProperty('isClicked');
    }
  } 
});
当然,在.hbs文件中,我有如下内容:

{{#if isClicked}}
    // Code goes here
{{/if}}
最终结果是:

由于这种方法,我有以下问题

  • 我不完全确定如何通过单击框的外部来隐藏该框
  • 一旦显示,该框将在多条路线上保持不变
  • 是否可以使用此方法附加动画(如淡入淡出)?(我想不会吧)
  • 在EmberJS中,这样做是正确的吗
我不完全确定如何通过单击框的外部来隐藏该框

这实际上有点棘手。 您可以在
dissertelement
中为此手动附加事件侦听器,或者使用带有操作处理程序的大型不可见div覆盖。 虽然我没有测试过这个,但也有一些

一旦显示,该框将在多条路线上保持不变

为什么不应该呢?如果您移开,使零部件不再可见,则长方体也将不可见。但是,如果您只是在嵌套的插座内进行转换,则会保持该状态

是否可以使用此方法附加动画(如淡入淡出)?(我想不会吧)

结帐

在EmberJS中,这样做是正确的吗

复杂的问题。您可能只需要使用CSS就可以做到这一点。这绝对没有错,所以就这么做吧

问题是在哪里保存这种状态。该组件有一个有限的生命周期,但是如果该生命周期与您的需求一起进行,那么它是好的

它也很容易集成其他插件和类似引导下拉列表的东西,这总是取决于你的喜好

我不完全确定如何通过单击框的外部来隐藏该框

这实际上有点棘手。 您可以在
dissertelement
中为此手动附加事件侦听器,或者使用带有操作处理程序的大型不可见div覆盖。 虽然我没有测试过这个,但也有一些

一旦显示,该框将在多条路线上保持不变

为什么不应该呢?如果您移开,使零部件不再可见,则长方体也将不可见。但是,如果您只是在嵌套的插座内进行转换,则会保持该状态

是否可以使用此方法附加动画(如淡入淡出)?(我想不会吧)

结帐

在EmberJS中,这样做是正确的吗

复杂的问题。您可能只需要使用CSS就可以做到这一点。这绝对没有错,所以就这么做吧

问题是在哪里保存这种状态。该组件有一个有限的生命周期,但是如果该生命周期与您的需求一起进行,那么它是好的

集成其他插件和引导下拉列表也很容易,这取决于您的喜好。

一些想法:

我不完全确定如何通过单击框的外部来隐藏该框

一旦显示,该框将在多条路线上保持不变

我猜你的意思是,当你点击框中的一个链接时,该框在发送到下一页时仍然可见。这是正常的行为。只需在路由之前或路由时向链接添加操作并关闭元素

是否可以使用此方法附加动画(如淡入淡出)?(我想不会吧)

如果您只需要简单的动画,那么可以使用jquery

toggleAnimation: function(isOpen, section) {
 if (isOpen) {
   section.slideUp(400);
 } else {
   section.animate({
     height: 'toggle'
   }, 400, function() {
     section.slideDown(400);
   });
 }
},
节是一个dom元素

Is this even the correct way to approach something like this in EmberJS?
对。总有其他的方法,但你可以用余烬做一些你期待的事情。

一些想法:

我不完全确定如何通过单击框的外部来隐藏该框

一旦显示,该框将在多条路线上保持不变

我猜你的意思是,当你点击框中的一个链接时,该框在发送到下一页时仍然可见。这是正常的行为。只需在路由之前或路由时向链接添加操作并关闭元素

是否可以使用此方法附加动画(如淡入淡出)?(我想不会吧)

如果您只需要简单的动画,那么可以使用jquery

toggleAnimation: function(isOpen, section) {
 if (isOpen) {
   section.slideUp(400);
 } else {
   section.animate({
     height: 'toggle'
   }, 400, function() {
     section.slideDown(400);
   });
 }
},
节是一个dom元素

Is this even the correct way to approach something like this in EmberJS?
对。总有其他的方法,但是你可以用余烬做一些你期望的事情