草庐IT

在打字稿中继承Acessor

程序员大本营 2024-05-28 原文

我有一个A类A,它具有包含几个字符串的对象的登录器。整个过程提供了一种让URL调用VERTX API的简便方法。

我的问题是,我想将此API超载在继承A类A的子类B中。

这样的东西:

class A {    get api () {        return {            GET_LESSON : '/lesson/',        };    }}class B extends A{    get api () {        return _.extend(super.api, {            GET_CALL : '/lesson/call/',       });   }}

但这无效,我会发现错误:

TS2340:Only public and protected methods of the base class are accessible via the 'super' keyword.

为什么我有这个错误?这是打字稿登录器的预期行为吗?

看答案

这是打字稿访问者的预期行为吗

是的。这是在这里跟踪的: https://github.com/microsoft/typescript/issues/338

原因尚未支持的原因:当前 super 查找真的很简单。更改该问题所涵盖的性能影响。

有关在打字稿中继承Acessor的更多相关文章

  1. ruby - 如何使用 Ruby Duck 打字 - 2

    我正在学习Ruby,我遇到了一个关于打字的主要概念问题。请允许我详细说明为什么我不理解范式。假设我像您在Ruby中一样为简洁的代码进行方法链接。我必须准确地知道链中每个方法调用的返回类型是什么,否则我无法知道下一个链接上有哪些方法可用。难道我每次都要检查方法文档吗??我遇到了这个不断运行的教程练习。似乎我陷入了引用、推断、运行、失败、修复、重复以使代码运行的过程,而不是准确地知道我在编码过程中使用的是什么。这与Ruby的直观性promise背道而驰。假设我正在使用第三方库,我再次需要知道允许哪些类型传递参数,否则我会失败。我可以查看代码,但可能有也可能没有任何关于该方法期望的类型的注释

  2. ruby - 编写一个简单的 IRC(互联网中继聊天)客户端 - 2

    我很小的时候就开始使用IRC,我一直对它着迷。作为语言练习,我正在考虑用Ruby编写一个简单的IRC客户端Shoes作为图形前端。先生们,我的问题是,要开始这次伟大的冒险,我需要熟悉什么(当然除了鞋子和Ruby之外)?我想在IRC协议(protocol)上有某种规范。有什么指点吗? 最佳答案 之前的一篇文章提到了RFC1459。虽然这是对IRC的一个很好的介绍,但它实际上已被RFC2810-2813取代。这是一个更完整的文档列表,您需要编写任何与IRC相关的程序:RFC1459(原始RFC;已被取代,但仍然有用)RFC2810(IR

  3. ruby - 在 ruby​​ 中继承 initialize() 方法? - 2

    这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。我仍然不知道如何让子类的构造函数跟随其父类...示例:require'mechanize'classScraperattr_accessor:agentdefinitialize#Idontknowifusinginstancevariableistherightthingtodo@agent=Mechanize.newendendclassScraper

  4. ruby - 在 Ruby 中继承类级实例变量? - 2

    我想让一个子类从它的父类继承一个类级别的实例变量,但我似乎想不通。基本上我正在寻找这样的功能:classAlphaclass_instance_inheritable_accessor:foo#@foo=[1,2,3]endclassBeta然后我希望它像这样输出:>Alpha.bar#[1,2,3]>Beta.bar#[1,2,3,4]>Delta.bar#[1,2,3,5]>Gamma.bar#[1,2,3,4,'a']显然,这段代码不起作用。基本上我想为父类中的类级实例变量定义一个默认值,它的子类继承。子类中的更改将是子类的默认值。我希望这一切都发生,而不会影响其parent或s

  5. javascript - Angular JS 如何使用 Protractor 获取中继器的所有行? - 2

    我有一个包含所有用户的表,我想搜索列为{{user.name}}==='X'的用户。当我找到正确的行时,我想通过单击该行的最后一列来删除该条目。element(by.repeater('userinallUsers')).then(function(rows){for(vari=0;i我得到一个TypeError:Object#hasnomethod'then'我在这里找到了我的解决方案,但那仍然是旧语法 最佳答案 您忘记调用all函数:element.all(by.repeater('userinallUsers')).then(

  6. javascript - 在 Protractor 中模拟慢打字 - 2

    sendKeys()方法将一次发送所有key(实际上,一次一个,但速度非常快):varelm=element(by.id("myinput"));elm.sendKeys("test");有没有办法放慢输入速度,以便Protractor一次发送一个字符,每个字符之间有一个小的延迟?我们可以slowdownProtractorentirely,但这不会改变sendKeys()的工作方式,而且它还会减慢一切,而我们只需要“发送key”部分并且仅在特定情况下。 最佳答案 想法是使用browser.actions()并构建一系列“发送键”命

  7. Javascript 打字效果 - 2

    该问题与lasttime出自同一问题.我的网站运行静态域,因此我希望能够在每个网站上使用此脚本而无需制作重复副本。它用作键入文本效果,我希望能够定义它从网页本身而不是脚本打印出的文本。Javascriptvarindex=0;vartext='Text';functiontype(){document.getElementById('screen').innerHTML+=text.charAt(index);index+=1;vart=setTimeout('type()',100);}我试过摆弄代码并使用与我之前的帖子相同的方法,但我似乎无法让它工作。

  8. javascript - 在 Node.js 中继续之前如何等待函数完成 - 2

    我正在尝试在Node.js/Express中创建一个路由,该路由从两个查询中读取数据,然后根据来自查询的数据增加一个计数。由于Node.js是异步的,因此在读取所有数据之前会显示我的总数。我创建了一个简单的例子来说明我目前正在做的事情varexpress=require('express');varrouter=express.Router();vartotal=0;/*GEThomepage.*/router.get('/',function(req,res,next){increment(3);increment(2);console.log(total);res.end();})

  9. javascript - 如何在考虑 html 标签规则的 JavaScript 中创建打字机效果? - 2

    假设我有一些来自div标签的文本,如下所示:Thisissomecoolcontent...现在,如果我愿意,我可以创建一个JavaScript函数,一次打印一个字符,它会工作得很好。示例如下。functionprintSentence(inner,outer,index,speed){varinput=document.getElementById(inner).innerHTML;vartimer=setInterval(function(){document.getElementById(outer).innerHTML+=input.charAt(index);index++;

  10. javascript - 在javascript中模拟打字的外观,而不是实际的按键 - 2

    我正在尝试编写一个简单的函数,让它看起来好像有人在textarea中输入--这是我的函数(如果它很糟糕,请原谅我,但我通常不使用javascript)---console.log()部分工作正常,但出于某种原因,我无法让此脚本按照我期望的方式更新dom...functiontype(string){value="";el=document.getElementById("typeArea");for(vari=0;itextarea").val(value);el.textContent=value;console.log(value);sleep(160);}sleep(2000);

随机推荐