【发布时间】:2015-03-17 23:07:39
【问题描述】:
在 Aurelia 中,导出的视图模型类名称何时重要? Html 和 JS 文件是通过名称链接的,但里面的类名似乎无关紧要。
默认情况下,无论类的名称如何,加载器似乎都会将第一个导出的类作为视图模型。它确实可以识别“ValueConverter”后缀,但除了导出的第一类获胜之外。
这是约定俗成的吗?
【问题讨论】:
标签: aurelia
在 Aurelia 中,导出的视图模型类名称何时重要? Html 和 JS 文件是通过名称链接的,但里面的类名似乎无关紧要。
默认情况下,无论类的名称如何,加载器似乎都会将第一个导出的类作为视图模型。它确实可以识别“ValueConverter”后缀,但除了导出的第一类获胜之外。
这是约定俗成的吗?
【问题讨论】:
标签: aurelia
命名对于视图模型来说根本不重要。但是,视图模型应该是不使用约定或不提供元数据的模块的唯一导出。通常,它是唯一的导出,但您可以拥有其他导出,只要它们提供元数据或使用常规名称。
导出名称仅与视图资源有关:自定义元素、附加行为、模板控制器和值转换器。当您将资源导入视图时,编译器需要知道它是什么类型的资源。您可以使用元数据提供此信息,也可以依赖命名约定。因此,如果一个类名为 FooCustomElement,它将知道该导出是一个 CustomElement。 AttachedBehavior、TemplateController 和 ValueConverter 也一样。
此外,如果视图资源不提供元数据并且不遵循命名约定,编译器将假定它是自定义元素。
【讨论】: