小编Mic*_*lle的帖子

如何强制在Typescript中的所有变量声明一个类型

我知道当你在Typescript中声明一个变量时,你可以选择是否为变量指定一个类型.如果未指定类型,则使用默认的"any"类型.有没有办法强制所有变量都声明一个类型,即使它可能是"任何".就像在,我希望在未指定类型时出现编译器错误.这样程序员就会被强制给出所有类型,并防止变量意外地保留为"任何"的情况.

javascript typescript

19
推荐指数
2
解决办法
7962
查看次数

什么对象类型是实例元素参数传递到角度指令的链接函数?

我正在使用带有角度的typescript并尝试创建自定义指令.我试图给出我所有的参数类型,但不确定传递$ element参数的对象是什么类型.是JQuery类型吗?还是一些元素类型?

在指令代码中,我想使用带有d3选择器的$元素.(即d3.select($ element))目前d3选择语句不起作用,因为$元素类型不是d3所期望的类型.(我也在使用d3的打字稿界面.)

var directiveDefinitionObject : ng.IDirective = {
        restrict: 'E',
        replace: false,
        scope: { data: '=chartData' },
        link: ($scope: ICustomScope, $element: <WHAT_TYPE?>) => {
             d3.select($element);  // d3.select(node)
        }
    };
Run Code Online (Sandbox Code Playgroud)

d3.js angularjs typescript

10
推荐指数
1
解决办法
5839
查看次数

使用Web Essentials 2013生成typescript intellisense文件无法正常工作

我的Visual Studio 2013与网络安装要领2013年我右键单击一个cs文件,并选择"网络精华 - >创建打字稿智能感知文件",这样,我得到一个打字稿d.ts文件,我可以在打字稿代码引用.我遇到了一些问题.我们说我的班级如下:

namespace SomeNamespace
{
    [TypescriptModule("test")]

    [DataContract(Name = "MyDTO")]
    public partial class MyPM
    {
        [DataMember(Name = "id")]
        public long Id { get; set; }

        [Required]
        [DataMember(Name = "name")]
        public CustomPM Data{ get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到的d.ts文件是:

declare module test {
    interface MyPM{
        id: number;
        data: test.CustomPM;
    }
}
Run Code Online (Sandbox Code Playgroud)

第一个问题是该行:

[DataContract(Name = "MyDTO")]
Run Code Online (Sandbox Code Playgroud)

在生成过程中被忽略了.它不会生成一个名为MyDTO的类,而是一个名为MyPM的类,即使MyDTO是指定在序列化期间使用的字符串,也就是通过线路连接到客户端的字符串.我做了一些调查和代码:

https://github.com/madskristensen/WebEssentials2013/blob/master/EditorExtensions/Commands/Code/IntellisenseParser.cs#L207

表示它使用CodeClass.Name属性来确定类名.有没有办法在类上使用属性(除了DataContract Name之外),以使CodeClass.Name属性包含除实际类名之外的另一个字符串?

第二个问题是这一行:

data: test.CustomPM;
Run Code Online (Sandbox Code Playgroud)

在Visual Studio 2013年安装了打字稿,test.CustomPM给我一个错误,因为它无法找到测试模块的类型CustomPM,即使类已经生成到同一个"测试"模块可供使用.缺少的部分是d.ts文件顶部的这一行:

/// <reference path="./CustomPM.cs.d.ts"/>
Run Code Online (Sandbox Code Playgroud)

但是,我一直无法找到让生成器生成此方法的方法.

我真的很感激任何人都可以解决这些问题的解决方法.谢谢!

web typescript web-essentials visual-studio-2013

5
推荐指数
1
解决办法
1748
查看次数