npm 包 aurelia-async-bindable-bluebird 使用教程

阅读时长 6 分钟读完

简介

次文将介绍 npm 包 aurelia-async-bindable-bluebird 的使用方法。这个 npm 包是一个用于 Aurelia 框架的插件,提供了一种在 ViewModel 中使用 Bluebird Promises 进行数据绑定的新方式。

安装

将此 npm 包安装到您的项目中:

或者使用 yarn:

使用方法

在您的 Aurelia 项目中使用此插件的步骤如下:

  1. main.js 中导入 Bluebird Promise 和 aurelia-async-bindable-bluebird 插件:
-- -------------------- ---- -------
------ ------- ---- -----------
------ - -------- - ---- --------------
------ - ------- - ---- --------------------
------ ----------------------------------

---------------- ------------- ---- ---

------ -------- ------------------ -
  -----------
    ------------------------
    ---------------------
    ----------------------------------------------------------------

  ----------------------- -- -------------------
-
  1. 在您的 ViewModel 类中引入 bluebird 和 asyncBindable 装饰器:
-- -------------------- ---- -------
------ - ------ - ---- --------------------
------ ------- ---- -----------
------ - ------------- - ---- ----------------------------------

---------------- 
----------------
------ ----- ----------- -
  -------------------- -
    ------------ - -------- 
  -

  ----- ---------- -
    ------------ - --------------------------- --------
  -

  ----- ------------ -
    ------------ - ----------------------- ----------- -- -- ----- ------------
  -

  ----- ----------------- -
    ----- ------ - ----- -------------------------- -- --- ---------- 
    ------------ - -------
  -
-

注意 asyncBindable() 装饰器,这个装饰器非常重要。它告诉 Aurelia 编译器将 ViewModel 的属性自动捆绑为 Bluebird Promises。

  1. 在您的 ViewModel 类中,将需要捆绑为 Promise 的属性定义为 Promise:

这里定义了一个名为 myValue 的属性,并将其初始化为一个 Bluebird Promise 对象,其中包含了一个字符串值 “initial value”。

  1. 在您的 View 中使用此属性:

在这个例子中,将使用 myValue 属性的 state()value() 方法来获取当前的 Promise 状态和值。

示例

这里有一个更完整的示例:

-- -------------------- ---- -------
------ - ------ - ---- --------------------
------ ------- ---- -----------
------ - ------------- - ---- ----------------------------------

----------------
----------------
------ ----- ----------- -
  -------------------- -
    ------------ - -------- 
  -

  ----- ---------- -
    ------------ - --------------------------- --------
  -

  ----- ------------ -
    ------------ - ----------------------- ----------- -- -- ----- ------------
  -

  ----- ----------------- -
    ----- ------ - ----- -------------------------- -- --- ---------- 
    ------------ - -------
  -
-

这个示例演示了如何定义带有蓝鸟 Promise 的 ViewModel 属性,并将其绑定到 View 中。两个按钮分别将 myValue 更改为一个拒绝的 Promise 和一个解决的 Promise,以演示所使用的异步数据绑定的动态性。

总结

通过本文,您已经了解了 npm 包 aurelia-async-bindable-bluebird 的使用方法。在您的 Aurelia 项目中考虑使用这个插件,以获得更优美的、更灵活的异步数据绑定方式。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600568d581e8991b448e495e

纠错
反馈