Aurelia:自定义元素与自定义属性

Aurelia: Custom Elements vs Custom Attributes

我想知道在 Aurelia 中使用自定义元素或自定义属性有什么区别。

我正在使用 jqueryUI 的日期选择器。我将其实现为自定义属性(在 https://www.danyow.net/jquery-ui-datepicker-with-aurelia/ 之后),并且效果很好。我没能把它变成一个自定义元素。我环顾四周,在网上找到了一些示例,但它们没有用。

我想知道使用自定义属性代替自定义元素是否有任何缺点。

自定义属性 用于扩展现有 HTML 元素的功能,实际上 没有视图 。就像在您的示例中一样,您想要扩展输入字段的功能。它应该看起来像一个输入,具有标准的 focus/form/validation 等输入行为等等(如果 <input type="date"/> 将在所有浏览器中正确实现,我们肯定会使用它而不是 jquery-datepicker ) .

自定义元素 可以编写您自己的可重用元素,包括自己的视图 以及自己的功能和逻辑。

示例:

自定义元素

  • 自制日期选择器(需要显示一些日期等等=查看)
  • 自己的自动完成输入(您需要查看以显示列表)
  • 循环 ui 元素(例如数据、图像对,其中图像应始终位于左侧并在单击时执行某些操作,5 行 html 和包含在一个自定义元素中的逻辑)

自定义属性

  • 使用第 3 方日期选择器(如 jQuery-ui,它只会执行 jQuery 调用以编程方式添加视图)
  • 使用 google 地图位置自动完成(只是一个 api 调用,它将更改输入值并显示动态添加的视图,没有自己的视图)
  • 一个应该有特殊行为的图像(比如一个图像会调用 rest 并改变图像)