在Aurelia中,导出的视图模型类名何时重要? Html和JS文件通过名称链接,但内部类的名称似乎并不重要。
默认情况下,无论类的名称如何,loader似乎都会将第一个导出的类作为视图模型。它确实识别'ValueConverter'后缀,但不包括第一类导出的胜利。
这是按惯例吗?
答案 0 :(得分:11)
对于视图模型,命名并不重要。但是,视图模型应该是来自未使用约定或提供元数据的模块的唯一导出。通常,它是唯一的导出,但如果他们提供元数据或使用传统名称,您可以拥有其他导出。
导出名称仅与视图资源有关:自定义元素,附加行为,模板控制器和值转换器。将资源导入视图时,编译器需要知道它是什么类型的资源。您可以使用元数据提供此信息,也可以依赖命名约定。因此,如果一个类名为FooCustomElement,它将知道该导出是一个CustomElement。与AttachedBehavior,TemplateController和ValueConverter相同。
此外,如果视图资源不提供元数据且不遵循命名约定,则编译器将假定它是自定义元素。