![](/img/trans.png)
[英]what is difference between classnames vs classNames from classnames package
[英]Removing Classnames from Ember view
我正在嘗試創建具有在擴展視圖中描述的功能的視圖,但是具有不同的類名。 發生的是ExpTypesView類是['nav','nav-pills'] 和 ['nav','nav-tabs']。 我如何設置它以便它們替換在NavView中設置的類名?
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']
});
在Ember.View
, classNames
是一個連接的屬性,因此您添加的屬性將與超類值連接。
您可以使用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-view nav nav-tabs"
和class="ember-view nav nav-pills"
。
這個骯臟的小解決方法可以滿足我的需求,但是如果您知道更好的方法或任何能解釋這個問題的資源,請告訴我!
Resume.ExpTypesView = Resume.NavView.extend({
//classNames:['nav','nav-pills'],
init: function(){
this.set('classNames', ['nav','nav-pills']);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.