Ember.js 如何从emberjs中的其他元素中删除类
my functions在单击某个元素时切换类名。但它不能从其他元素中删除类名。所以所有的元素现在都在升级。但是每当用户单击一个元素时,它应该有Ember.js 如何从emberjs中的其他元素中删除类,ember.js,Ember.js,my functions在单击某个元素时切换类名。但它不能从其他元素中删除类名。所以所有的元素现在都在升级。但是每当用户单击一个元素时,它应该有classname其他同级元素必须删除classname怎么做 以下是我的尝试,但不起作用: import Ember from 'ember'; export default Ember.Component.extend({ isSelected : false, deSelectOthers : function(){
classname
其他同级元素必须删除classname
怎么做
以下是我的尝试,但不起作用:
import Ember from 'ember';
export default Ember.Component.extend({
isSelected : false,
deSelectOthers : function(){
this.set( "isSelected", false ); //deselecting all before add the class to clicked element
},
actions : {
selectCard : function(card) {
this.deSelectOthers(); //de select others not works
this.toggleProperty('isSelected'); // add class to this element only works. how to remove class from other element?
}
}
});
更新
我很抱歉对我的要求作了不恰当的描述。我已经使用jQuery
创建了需求-如何使用emberjs
实现同样的需求?
以下是
您需要维护selectedIndex/值,并使用if check根据selectedIndex/值更新类
application.hbs
<div class="parent">
<ul>
{{#each model as | temp index|}}
<li class={{if (eq selectedIndex index) 'highlight' }} {{action 'changeSelectedIndex' index}}>{{temp}}</li>
{{/each}}
</ul>
</div>
controllers/application.js
import Ember from 'ember';
export default Ember.Route.extend({
model(){
return [1,2,3,4];
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
selectedIndex:undefined,
actions:{
changeSelectedIndex(index){
this.set('selectedIndex',index);
}
}
});
你需要通过运行
ember install-ember-truth-helpers来安装ember-truth-helpers插件
请提供,因为它缺少用于识别问题的重要代码请保存我的代码,你能告诉我一个方法吗?请参考此,它看起来与你的要求相匹配…它是3小时前编写的!!我没有切换类,只是添加了一个类。我需要你澄清这个问题,你是对的。但在组件的情况下,该逻辑不起作用。除非我没有重新单击组件,否则类不会移除检查将在组件中实现。您看到了吗?