草庐IT

ruby-on-rails - ruby super 关键字

据我了解,super关键字在当前类的父类(superclass)中调用与当前方法同名的方法。下面的autoload方法中,调用了super。我想知道在哪个父类(superclass)中我会找到一个具有相同名称的方法,或者对super的调用在这里做什么moduleActiveSupportmoduleAutoload...defautoload(const_name,path=@@at_path)full=[self.name,@@under_path,const_name.to_s,path].compact.join("::")location=path||Inflector.und

javascript - `this._super(controller,model)` 在 Ember 路由器中意味着什么?

我在EmberJS代码和讨论{未提供引用}中看到以下内容:代码路由.jssetupController:function(controller,model){this._super(controller,model);//Morecode},问题这里对this._super(controller,model);的调用是做什么的?什么时候需要使用这种类型的调用?只是想在这里学习,因为我的Nose因Ember学习曲线而流血。 最佳答案 正如@RyanHirsch所说,this._super调用该方法的父实现。在setupControll

javascript - 我什么时候需要使用 super(props) 将 prop 传递给 React 组件的构造函数?

这个问题在这里已经有了答案:What'sthedifferencebetween"super()"and"super(props)"inReactwhenusinges6classes?(10个答案)关闭6年前。很多时候我们在构造函数中发送props但我们从来没有在构造函数中的任何地方使用this.props那么为什么需要传递它以及何时需要这样做。classAppextendsReact.Component{constructor(props){super(props);//Whendoweneedtosendpropstotheconstructorthis.state={data:

javascript - 如果我使用 _.bindAll(this) 为什么我的 Backbone.View.constructor.__super__ 未定义

我正在继承我自己的Backbone.View。如果,在父类(superclass)的初始化函数中,我写:_.bindAll(这个,'很多','方法');并指定我想绑定(bind)到此上下文的方法,我可以通过以下方式从子类调用super:this.constructor.__super__.initialize.apply(this,arguments);但是,如果在父类(superclass)中,我使用:_.bindAll(this)相反,当我从我的子类调用super时,this.constructor.__super__未定义。为什么会这样? 最佳答案

javascript - 模拟/ stub `super` 调用

我想模拟super调用,尤其是某些ES6类中的构造函数。例如importBarfrom'bar';classFooextendsBar{constructor(opts){...super(opts);}someFunc(){super.someFunc('asdf');}}然后在我的测试中,我想做类似的事情importFoofrom'../lib/foo';importBarfrom'bar';describe('constructor',function(){it('shouldcallsuper',function(){letopts=Symbol('opts');letcons

javascript - 从 Angular 5 组件访问父类(super class)字段

我有一个包含组件通用功能的父类(superclass)。exportclassAbstractComponentimplementsOnInit{publicuser:User;constructor(publichttp:HttpClient){}ngOnInit():void{this.http.get('url').subscribe(user=>{this.user=user;});}}我有一个实现这个父类(superclass)的子类。@Component({selector:'app-header',templateUrl:'./header.component.html'

javascript - 在使用 Object.create 创建的对象中使用 super

今天早上我遇到了一个tweetfromŠimeVidas他提出了以下在对象字面量中使用super的可能性:letA={run(){console.log('Aruns');}};letB={run(){super.run();}};Object.setPrototypeOf(B,A);B.run();//Aruns这行得通,而且分配B.__proto__=A;似乎也行得通,在Firefox和Chrome中都是如此。所以我想我可以用Object.create做同样的事情:letA={run(){console.log('Aruns');}};letB=Object.create(A);B

Javascript 将可变参数传递给父类(super class)构造函数

将可变参数传递给父类(superclass)构造函数的最佳/推荐方法是什么?背景解释了我试图解决的问题。背景我正在将一些代码从Java移植到Javascript。Java的编码模式之一是函数重载。Java选择最佳匹配来确定要调用的函数。当函数是类构造函数时,这会变得很有趣。所以Java中的代码可能是publicclassMyParserextendsParser{publicintparse(Stringstr){super(str);...}publicintparse(Stringstr,intbase){super(str,base);...}}在Javascript中变成:cl

javascript - 如何知道是否通过 super 调用了类构造函数?

如果我有这个:classHuman{constructor(){}}classPersonextendsHuman{constructor(){super();}}是否有可能知道是否通过Person类调用了Human的构造函数?我考虑过arguments.callee但它已被弃用。 最佳答案 检查实例是否属于特定子类很容易(但不明智):classHuman{constructor(){console.log(thisinstanceofPerson);}}要检查它是否是基类(而不是子类)的实例,您可以使用:Object.getPro

Javascript Prototype Chaining父类(super class)构造函数和方法调用

我是JavaScript世界的新手,在尝试原型(prototype)链继承时遇到了这个奇怪的问题。我有3个类(class)//classparentfunctionparent(param_1){this.param=param_1;this.getObjWithParam=function(val){console.log("valueinparentclass"+val);console.log("Constructorparameter:"+this.param);};};//classchildfunctionchild(param_1){this.constructor(pa