javascript - 如何在 Ember 中切换类

标签 javascript jquery ember.js

我想弄清楚如何切换组件中的类。

我的组件有两种状态:事件状态和非事件状态。当我想激活它时,我需要添加 active 类。

目前我正在使用 jQuery addClassremoveClass

组件.js:

SiteApp.BookingBoxComponent = Ember.Component.extend({
      actions: {
        open: function (element) {
          this.sendAction('open', this.$());
        },

        close: function (element) {
          this.sendAction('close', this.$());
        },
      }
});

Controller.js:

SiteApp.IndexController = Ember.Controller.extend({
  actions: {
    open: function (element) {
      element.addClass('event--active');
    },

    close: function (element) {
      element.removeClass('event--active');
    },
  }
});

它正在运行,但我感觉 Ember 内置了一些有助于实现这一点的东西。

最佳答案

或者你可以做

App.AComponent = Ember.Component.extend({
    isOpen: false,

    actions: {
        toggleOpen: function (element) {
            this.toggleProperty('isOpen');
        }
    }
});

血红蛋白

<div class="{{if isOpen 'opened' 'closed'}}">
    ...
</div>

关于javascript - 如何在 Ember 中切换类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33345357/

相关文章:

显示 block 后单击时的 Javascript 转换

javascript - 如何使用 Observables 代替 Promise?

javascript - ContainerView + LookupFactory 在 EmberJS 1.2.0+ 中不起作用

ember.js - 将pushObject()应用于模型

Ember.js——如何从路由访问 Ember session 中的数据

javascript - Bootstrap 入门破损的 index.html

javascript - 使用javascript转换以分号分隔的字符串

javascript - 我应该使用 CSS 还是 JS 让我的容器向右滑动并同时淡入淡出?

javascript - Flot 堆叠图表条形宽度如折线图

javascript - 是否可以使用 jQuery 将当前元素从 div 更改为标签?