【问题标题】:Aurelia: Custom Elements vs Custom AttributesAurelia:自定义元素与自定义属性
【发布时间】:2016-04-20 14:41:13
【问题描述】:

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

我正在使用来自 jqueryUI 的日期选择器。我将它实现为自定义属性(遵循此https://www.danyow.net/jquery-ui-datepicker-with-aurelia/)并且它运行良好。我无法将它变成一个自定义元素。我环顾四周,在网上找到了一些示例,但它们不起作用。

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

【问题讨论】:

    标签: jquery-ui aurelia


    【解决方案1】:

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

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

    例子:

    自定义元素

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

    自定义属性

    • 使用第 3 方 Datepicker(如 jQuery-ui,它只会执行 jQuery 调用以编程方式添加视图)
    • 使用谷歌地图位置自动完成(只是一个 api 调用,它将更改输入值并显示动态添加的视图,没有自己的视图)
    • 应具有特殊行为的图像(例如会进行休息调用并更改图像的图像)

    【讨论】:

    • Tnx 的解释。有点跑题了,在创建自定义元素时,我看到了@bindable。它是干什么用的?我看到了一些关于允许绑定属性的内容,但我没有使用它,而且似乎工作正常。
    • @bindable 装饰器用于指示自定义元素的视图模型中的字段可以用作属性
    猜你喜欢
    • 2015-09-22
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 2017-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    相关资源
    最近更新 更多