草庐IT

TypeScript(5)类、继承、多态

全部标签

javascript - typescript 的/** @class */有目的吗?

我正在学习typescript,我注意到编译后的javascript对每个类都有一个注释,如下所示:/**@class*/例子:varStudent=/**@class*/(function(){functionStudent(firstName,middleInitial,lastName){this.firstName=firstName;this.middleInitial=middleInitial;this.lastName=lastName;this.fullName=firstName+""+middleInitial+""+lastName;}returnStudent

Javascript继承与应用

我一直在研究Javascript中的设计模式并找到了http://tcorral.github.com/Design-Patterns-in-Javascript/Template/withoutHook/index.html成为一个很好的来源。谁能解释一下使用ParentClass.apply(this)的意义varCaffeineBeverage=function(){};varCoffee=function(){CaffeineBeverage.apply(this);};Coffee.prototype=newCaffeineBeverage();PS:我试着评论Caffein

javascript - 如何继承DOM元素类

我想编写一些扩展DOM节点的Javascript类(这样我就可以将我的类的实例直接插入到DOM中),但是很难找到我应该从哪个类/原型(prototype)继承。例如:functionmyExtendedElement(){this.superclass=ClassA;this.superclass();deletethis.superclass;}但是ClassA应该是什么? 最佳答案 这样做不是一个好主意。首先,要从DOM元素继承,您需要有权访问该元素的原型(prototype)。问题是并非所有浏览器都提供对DOM元素原型(pro

javascript - Angular2 - 类型错误 : Cannot read property 'Id' of undefined in (Typescript)

我收到以下错误:angular2.dev.js:23925EXCEPTION:TypeError:Cannotreadproperty'Id'ofnullin[{{product.Id}}inProductEditComponent@0:68]抛出://Product-edit.component.ts:import{Component}from'angular2/core';import{IProduct}from'./product'import{ProductService}from'./product.service'import{RouteParams}from'angula

javascript - Typescript - 自执行匿名函数

如何使用类型脚本创建自执行的匿名函数?例如(function(){varsomeClass={}}.call(this));我想要一个内置的插件,它可能适用于Node.js,也适用于前端。 最佳答案 /***SelfexecutinganonymousfunctionusingTS.*/(()=>{//Whateverisherewillbeexecutedassoonasthescriptisloaded.console.log('executed')})();IwantabuiltapluginthatmayworkforNod

javascript - Typescript Convert Object to Array - 因为 *ngFor 不支持对象的迭代

我可不想这样用for循环把Object转成Array!如果加倍处理并降低应用程序的性能(我正在使用Ionic2和Typescript,以及Firebase)for(输入数据){array.push(值);是否有使用*ngFor迭代对象本身(如附图所示)的解决方案。或者我可以将此对象(如附图所示)转换为数组,以便可以在*ngFor中进行迭代。 最佳答案 您可以使用Object.keys(obj)来获取命名索引。这将返回一个数组结构,您可以进一步使用/自定义它。用于遍历对象值的示例可能如下所示varpersons={john:{age:

javascript - 对象不继承原型(prototype)函数

我有一个构造函数,它充当父类(superclass):Bla=function(a){this.a=a;}我对其进行原型(prototype)设计以包含一个简单的方法:Bla.prototype.f=function(){console.log("f");现在新的Bla(1).f();将在控制台中记录“f”。但是,假设我需要一个继承自Bla的子类:Bla2=function(a){this.base=Bla;this.base();}x=newBla2(5);现在,正如预期的那样,x.a给了我5。但是,x.f是undefined!似乎Bla2没有从Bla类继承它!为什么会发生这种情况,

javascript - 如何在 Typescript 中为 Angular2 编写 console.log 包装器?

有没有办法编写一个全局的自制mylogger函数,我可以在Angular2typescript项目中用于我的服务或组件而不是console.log函数?我想要的结果是这样的:mylogger.tsfunctionmylogger(msg){console.log(msg);};用户服务.tsimport'commons/mylogger';exportclassUserService{loadUserData(){mylogger('Abouttogetsomething');return'something';};}; 最佳答案

javascript - 无法在 Firefox 中调试 Typescript(源)文件

好的,我使用5MinQUICKSTART创建了一个基本的Angular2Typescript项目它已经启动并正在运行。我的typescript转译器配置为创建源map:tsconfig.js{"compilerOptions":{"target":"es5","module":"commonjs","moduleResolution":"node","sourceMap":true,"emitDecoratorMetadata":true,"experimentalDecorators":true,"removeComments":false,"noImplicitAny":false

javascript - Handlebars 的模板继承

我正在尝试使用handlebars将模板从base.html继承到其他模板。但我对此一无所知。拜托,谁能帮我做个简单的DEMO。使用base.html和extend.html例如,基础.html{%blockcontent%}{%endblock%}扩展.html{%extends"base.html"%}{%blockcontent%}Foobar!{%endblock%}我需要在base.html中包含哪些文件......? 最佳答案 Handlebars不提供开箱即用的模板继承。但是,有些库提供了执行模板继承所需的帮助程序。我