2016-08-25 87 views
2

对不起,这个可怕的标题(我无法想出一个更好的标题)。`类<Component>`在JS中的含义

我考虑看看Vue代码,我发现这一点:

export function initMixin (Vue: Class<Component>) { // ... } 

什么Class<Component>手段在这方面?结肠?在这种情况下,我们将变量Vue传递给initMixin函数。 Vue它只是一个工厂类声明。我一直在ES2015中浸泡,我仍然不明白它的作用。

该文件是https://github.com/vuejs/vue/blob/next/src/core/instance/init.js,行12

谢谢!

+2

它使用的是[flow](https://flowtype.org),它是javascript的扩展类型 –

+0

看起来像。谢啦!如果你把这个作为答案,我会盖帽并批准它。 –

回答

2

Vue正在使用flow,这是对Javascript的一种类型扩展。

您可以通过阅读.babelrc文件找出确切的Javascript变种。你可以看到它使用两个预设:es2015flow-vue

在这种情况下,Vue: Class<Component>声明参数Vue具有的Class<Component>类型。

+1

特别是当'Vue:Component'伤口表示'Vue'变量的值是'Component'的_instance_时,'Vue:类'意味着'Vue'是'Component'的一个实例的构造函数。 – loganfsmyth