HTML5技术

Omi v1.0.2发布 - 正式支持传递javascript表达式 - 【当耐特】

字号+ 作者:H5之家 来源:H5之家 2017-03-22 11:03 我要评论( )

原文地址:https://github.com/AlloyTeam/omi/ 写在前面 Omi框架可以通过在组件上声明 data-* 把属性传递给子节点。 Omi从设计之初,就是往标准的DOM标签的标准传递方式靠齐。比如: 下划线自动转驼峰, data-page-index传到子组件就变成this.data.pageIndex

原文地址:https://github.com/AlloyTeam/omi/

写在前面

Omi框架可以通过在组件上声明 data-* 把属性传递给子节点。
Omi从设计之初,就是往标准的DOM标签的标准传递方式靠齐。比如:

  • 下划线自动转驼峰, data-page-index传到子组件就变成this.data.pageIndex
  • data-xx 传递到子节点全都变成字符串,如data-page-index="1"到子节点中this.data.pageIndex就是字符串"1"
  • 这样会有什么局限性和问题?如:

    那么支持传递javascript表达式就能解决这些痛点。

    废话不多说,来看神器的冒号。

    冒号标记

    看下面例子:

    .App () .)

    在data-user前面加上冒号即:data-user,就代表传递的是js 表达式,够方便吧。

    然后在Hello组件内就可以直接使用。

    ()

    你也可以在hello组件内打印出 this.data.user 试试。

    传递其他类型

    上面的例子展示了传递JSON,其他类型也支持。比如:

    复杂类型

    最后给大家看个稍微一丁点复杂的案例:

    (evt){ alert( this.data.arrayTest[0].name) .App () .);

    当然,在子组件中,你也可以不使用 mustache.js模板引擎的语法去遍历,使用ES6+的姿势去遍历。

    () ..).

    这也是为什么omi提供了两个版本,omi.js和omi.lite.js的原因。omi.lite.js不包含 mustache.js模板引擎。

    在线演示
  • ?type=exp
  • ?type=exp_arr
  • 相关

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • Omi v1.0震撼发布 - 令人窒息的Web组件化框架 - 【当耐特】

      Omi v1.0震撼发布 - 令人窒息的Web组件化框架 - 【当耐特】

      2017-03-21 08:02

    • omi-cli新版发布-升级webpack2和支持sass生成组件局部CSS - 【当耐特】

      omi-cli新版发布-升级webpack2和支持sass生成组件局部CSS - 【当耐特

      2017-03-16 11:03

    • Omi应用md2site-0.5.0发布-支持动态markdown拉取解析 - 【当耐特】

      Omi应用md2site-0.5.0发布-支持动态markdown拉取解析 - 【当耐特】

      2017-03-16 11:03

    • Visual Studio 2017正式版离线安装及介绍 - LineZero

      Visual Studio 2017正式版离线安装及介绍 - LineZero

      2017-03-09 08:01

    网友点评
    x