Javascript 从Ember视图中删除类名
我正在尝试创建一个视图,该视图具有在am扩展中的视图中描述的功能,但具有不同的类名。正在发生的是ExpTypesView类是['nav','nav-pills']和['nav','nav-tabs']。我如何设置它,以便它们替换NavView中设置的类名Javascript 从Ember视图中删除类名,javascript,inheritance,ember.js,view,extends,Javascript,Inheritance,Ember.js,View,Extends,我正在尝试创建一个视图,该视图具有在am扩展中的视图中描述的功能,但具有不同的类名。正在发生的是ExpTypesView类是['nav','nav-pills']和['nav','nav-tabs']。我如何设置它,以便它们替换NavView中设置的类名 Resume.NavView = Em.View.extend({ tagName: 'ul', classNames: ['nav','nav-tabs'], currentPathDidChange: function(){
Resume.NavView = Em.View.extend({
tagName: 'ul',
classNames: ['nav','nav-tabs'],
currentPathDidChange: function(){
Ember.run.next( this, function() {
$("ul li:has(>a.active)").addClass('active');
$("ul li:not(:has(>a.active))").removeClass('active');
});
}.observes('controller.currentPath')
});
Resume.ExpTypesView = Resume.NavView.extend({
classNames:['nav','nav-pills']
});
这个肮脏的小工作区给了我我想要的,但如果你知道更好的方法或任何资源来解释这一点,请让我知道
Resume.ExpTypesView = Resume.NavView.extend({
//classNames:['nav','nav-pills'],
init: function(){
this.set('classNames', ['nav','nav-pills']);
}
});
这个肮脏的小工作区给了我我想要的,但如果你知道更好的方法或任何资源来解释这一点,请让我知道
Resume.ExpTypesView = Resume.NavView.extend({
//classNames:['nav','nav-pills'],
init: function(){
this.set('classNames', ['nav','nav-pills']);
}
});
在一个Ember.View中,类名是一个函数,所以您添加的属性将和超类值连接在一起
可以使用classNameBindings在超类和子类中设置类型
App.NavView = Em.View.extend({
tagName: 'ul',
classNames: ['nav'],
classNameBindings: ['type'],
type: 'nav-tabs',
currentPathDidChange: function(){
Ember.run.next( this, function() {
$("ul li:has(>a.active)").addClass('active');
$("ul li:not(:has(>a.active))").removeClass('active');
});
}.observes('controller.currentPath')
});
App.ExpTypesView = App.NavView.extend({
type: 'nav-pills',
});
这将创建class=ember视图导航选项卡和class=ember视图导航选项卡
在一个Ember.View中,类名是一个函数,所以您添加的属性将和超类值连接在一起
可以使用classNameBindings在超类和子类中设置类型
App.NavView = Em.View.extend({
tagName: 'ul',
classNames: ['nav'],
classNameBindings: ['type'],
type: 'nav-tabs',
currentPathDidChange: function(){
Ember.run.next( this, function() {
$("ul li:has(>a.active)").addClass('active');
$("ul li:not(:has(>a.active))").removeClass('active');
});
}.observes('controller.currentPath')
});
App.ExpTypesView = App.NavView.extend({
type: 'nav-pills',
});
这将创建class=ember视图导航选项卡和class=ember视图导航选项卡