草庐IT

typeScript

全部标签

javascript - $timeout 仍然是等待 Angular 指令模板的最佳实践吗?

我们团队等待指令模板呈现的设计模式是将我们的DOM操作代码包装在$timeout中(在指令的链接函数内),我曾经知道这是正常的设计模式。这仍然是正确的,还是有更好/更安全的设计模式来做到这一点?模式示例在ECMAScript6中:link:($scope,$element)=>{$timeout(()=>{vardomElementFromTemplate=$element.find('myDOMElement');}} 最佳答案 当您尝试选择DOM中可用的元素时:IMO从来都不是最佳实践,因为不需要为同步dom选择函数创建异步行为

javascript - 使用 .d.ts 文件中的类型定义而不导入

我正在将一个Web应用程序从纯Javascript迁移到Typescript,并使用--outFile将所有单独的文件编译成一个文件。编译器选项和///指令。这很好,因为我可以将我的代码拆分成多个文件,而不必担心浏览器是否支持import.我使用的一个库是color-js,它在名为color.d.ts的文件中有类型定义.要将它与纯Javascript一起使用,我执行以下操作:index.html:[...][...]main.js/main.tsletColor=net.brehaut.Color;[...]在运行时,这也适用于Typescript,但在编译期间,我会遇到如下错误:sc

javascript - 我可以在 TypeScript 中将函数限制为纯函数吗?

有没有办法让一个函数成为pure仅在TypeScript中(因此不接受非纯函数)?如果是,是哪个? 最佳答案 您也许可以编写一些TSLint规则来捕捉大多数常见情况(例如,访问外部变量),但检查类似的东西几乎是不可能的,因此没有办法真正知道100%。您(和您的团队)仍然需要遵守纪律。 关于javascript-我可以在TypeScript中将函数限制为纯函数吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow

javascript - Angular 4 ng serve --prod 与 ng serve

很快,我在ngserve上有一个4.6MB的应用。当我这样做时:ngserve--prod我得到1MB的文件大小。但是,--prod以某种方式使我的整个应用程序中断。我向服务器发送请求的整个服务(基于promise)不再工作。奇怪的是ngserve工作得很好ANDngserve--prod的某些部分也工作得很好,因为只要没有服务器请求。我没有发布任何代码,因为ngserve版本工作正常。主要问题是:为什么我会有这种行为?此外,在某些时候,基于ngserve--prod的应用程序突然突然完全正常运行,然后在我重新启动应用程序后,再次出现故障应用程序。编辑:更多明确的细节:我正在使用Fid

javascript - Angular:根据服务方法调用设置路由

我通过@NgModule设置了路由配置。我有一项服务,可以根据特定条件确定应向用户显示应用程序的哪些部分。我需要调用该服务并根据返回值设置路由。问题:路由配置是在注释中设置的,我无法在这样的设置中调用服务。这里更具体的是我要增强的示例配置。我当前的路由设置:constappRoutes:Routes=[{path:'',redirectTo:'first-route',pathMatch:'full'},{path:'first-route',component:FirstComponent,pathMatch:'full'},{path:'second-route',componen

javascript - 在 Typescript 中扩展基类属性

我正在尝试为ReactReduxForm的Control组件创建一个包装类以添加额外的功能。这是基类/组件定义:exportclassControlextendsReact.Component,{}>{staticcustom:React.ComponentClass>;staticinput:React.ComponentClass>;statictext:React.ComponentClass>;statictextarea:React.ComponentClass>;staticradio:React.ComponentClass>;staticcheckbox:React.C

javascript - Typescript 使用 Rx.js 过滤器运算符区分联合类型?

typescript支持discriminatedunions.如何将与Rxjs相同的概念扩展到filter下面例子中的运算符?interfaceSquare{kind:'square';width:number;}interfaceCircle{kind:'circle';radius:number;}interfaceCenter{kind:'center';}typeShape=Square|Circle|Center;constobs$:Observable=of({kind:'square',width:10});//Expectedtype:Observable//Actu

javascript - 库的 Angular CLI 6.x 环境文件

我已经使用新的CLI6.x创建了一个库。我还在其中创建了一个Angular服务,我想为我的开发和生产环境使用不同的URL。所以我在我的库文件夹中创建了一个environment.ts和一个environment.prod.ts文件。//devexportconstenvironment={production:false,url:'dev-url'};//prodexportconstenvironment={production:true,url:'prod-url'};我还在angular.json文件中添加了'fileReplacements'属性:"configurations

Javascript/Typescript - 获取对象属性可见性和类型

我的问题:我需要区分typescript类的私有(private)、公共(public)和getter(getX())属性。我的项目:我有一个Angular项目,它有一个模型设计模式。阿卡。用户模型看起来像这样classUserModelextendsBaseModel{private_id:number;getid(){returnthis._id;}setid(_id:number){this._id=_id;}}为了将这些模型发送到后端,我只是对它们进行JSON.stringify(),如果用户ID设置为13,则返回一个这样的对象{_id:13}现在我需要修改UserModel上

javascript - 为什么两个 JS 日期对象实例化不同?

我想启用/禁用基于日期选择器的按钮,并且我有一个这样的检查设置:publicdateChanged=false;publicavailableFromDate:Date;publicavailableToDate:Date;initDatepickers(){constcurrentDay=newDate();this.availableFromDate=currentDay;this.availableToDate=currentDay;}privatedateCheck(){if((this.availableFromDate>this.availableToDate)||(thi