问题标签 [typescript1.4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
693 浏览

typescript1.4 - 使用 TypeScript 1.4 的联合参数

我在使用联合参数时遇到了一些麻烦。想象一下我有这样一个功能:

我希望用户要么传递一个定义新列的完整对象,要么只传递一个string,在这种情况下我创建一个默认对象。

然而,TypeScript 有两个问题:

  • definition = { id: definition };是不允许的,因为 TypeScript 认为这definition可能不是一个字符串——这是错误的,因为我在typeof上面做了一行。
  • new JSColumn(definition)不可能,因为构造函数需要一个IColumnDefinition对象,也definition可能是一个字符串——这也是错误的,因为if上面确保它始终是一个正确的对象。

我能做些什么来让 TypeScript 相信这些不是错误?有没有像演员表一样的东西,上面写着“嘿,这个变量是类型xyz。相信我,我知道我在做什么。”

我目前将参数定义为any,这不是一个真正的选择,因为我失去了类型检查的全部优势。

0 投票
1 回答
278 浏览

javascript - Durandal View 在缩小时偶尔无法正确加载

我们发现了一个 Durandaljs 2.1 应用程序的一个相当隐蔽的问题,这个问题以前并没有真正暴露出来。

本质上,我们收到的错误似乎是 404 错误。然而,我们添加了一些额外的错误跟踪,发现似乎是一个计时错误。

我们进行的修改如下

尝试加载特定视图时,我们收到未找到视图警告,然后显示该视图的 Javascript。当代码没有被缩小时,这种情况很少发生,尽管在 Iphone 等移动设备上似乎更常见。这在开发中根本不会发生。

但是,一旦我使用 Grunt 来缩小 javascript,在开发环境中每次都会发生错误。这让我怀疑一个最隐蔽的计时错误。有没有其他人遇到过这种问题并就我们如何解决这个问题提出任何建议。我们正在使用 Durandaljs 2.1。

我们收到的错误是形式

转到默认页面时,该应用程序始终可以正常加载,但是错误发生在单独的视图上。

刚刚在此视图中对代码进行了另一次审查。实际的 durandal 激活函数返回一个承诺对象,这可能与问题有关?

感激地收到任何帮助。

好的,我做了更多的游戏,并意识到有更多与这篇文章相关的信息。我们正在为我们的视图模型使用打字稿,这个问题与使用实例化视图模型与单例有关。

所以在大多数情况下,我们有一个单例视图模型,我们定义如下:

在我们需要实例化视图模型的情况下,我们完成了以下操作:

0 投票
1 回答
557 浏览

javascript - 打字稿中的 Ember js 观察者和计算属性

如何使用 typescript 定义 emberjs 观察者和计算属性?

我需要在打字稿中编写以下代码。

就像是:

但这似乎不起作用。有人可以告诉我不使用 javascript 的正确方法吗?

0 投票
1 回答
266 浏览

arrays - TypeScript:继承自数组

我正在尝试为 AngularJS 应用程序创建一个丰富的数据模型,我希望我的模型继承自Array<BaseModel>. 我还没有找到一种方法来做到这一点(有信心)。

在伪代码中,这将类似于:

我想要这样的原因是现在我可以直接将此模型绑定到我的视图并即时获取更新。

关于从 Array 扩展的任何想法?

0 投票
1 回答
450 浏览

javascript - 在加载其他脚本之前在 Jasmine 中加载外部脚本

我在我的项目中使用 TypeScript 来构建 JS 文件。我还使用 chutzpah 扩展到 Visual Studio 来运行我的测试。我遇到的问题是我有 3 个脚本需要加载,而我的测试 .ts 文件是最后一个。我遇到的问题是需要在加载所有其他脚本之前加载第一个脚本。第一个脚本也是外部脚本(不在我的项目中)。

我怎样才能先加载第一个脚本,然后再加载其他所有脚本。看起来应该完成一个异步调用 - 但我没有设法用它来解决它。

0 投票
2 回答
4359 浏览

visual-studio - 构建时的 Visual Studio 2015 CTP TypeScript 错误

使用 Visual Studio 2015 CTP 并尝试使用 TypeScript 时出现以下错误。

通过在csproj文件中设置以下配置,我能够消除这两个错误

但是,如果我包含任何DefinitiveTyped类型的文件,例如 Angular 或 jQuery,它会抛出一堆错误。错误似乎是它不理解多值类型的 TypeScript 1.4 语法。

例子:

错误:构建:“,”预期

这是 Visual Studio 2015 CTP 中的错误,还是我的配置中的一些问题。

0 投票
1 回答
571 浏览

typescript - TypeScript 1.4 缩进问题

我最近将 TypeScript 升级到 v1.4(我使用的是 VS2013)并且代码缩进格式似乎已经随着更新而改变。

我的代码以前的样子是这样的:

但自从安装 v1.4 后,代码现在的格式如下:

每当我把它改回我以前的方式并输入一些格式化代码的东西时,它就会把它放回新的方式(我真的不喜欢)。有什么想法我可以检查或更改以使其恢复到以前的状态吗?

0 投票
3 回答
6655 浏览

module - 将 jspm 与 TypeScript 一起使用

是否可以将jspm与 TypeScript 和 TypeScript 模块系统结合起来?

我找不到这方面的文档或样本。

0 投票
1 回答
888 浏览

javascript - 用于原型设计多维数组的打字稿接口语法?

我正在尝试使用打字稿为二维数组添加一些扩展方法。

对于一维数组,语法很简单:例如

我希望我可以用二维数组做类似的事情,但以下不起作用:

是否可以在 Typescript 中对二维数组进行原型设计?

0 投票
2 回答
12169 浏览

typescript - 导入外部定义

使用 Typescript,有没有办法只从外部模块导入类型?

基本上我只希望一个模块知道另一个模块的类型(以支持 Intellisense),但不会在 JavaScript 中发出导入。我想这样做是因为有问题的模块可能已经加载,也可能没有加载 - 即没有硬依赖,但我希望有一些类型的代码可以运行并使用该模块(如果存在)。

希望这很清楚。