Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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 从Ember视图中删除类名_Javascript_Inheritance_Ember.js_View_Extends - Fatal编程技术网

Javascript 从Ember视图中删除类名

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(){

我正在尝试创建一个视图,该视图具有在am扩展中的视图中描述的功能,但具有不同的类名。正在发生的是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']
});

这个肮脏的小工作区给了我我想要的,但如果你知道更好的方法或任何资源来解释这一点,请让我知道

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视图导航选项卡