`
jindw
  • 浏览: 510180 次
  • 性别: Icon_minigender_1
  • 来自: 初到北京
社区版块
存档分类
最新评论

关于JSI装饰引擎改进的一些想法

    博客分类:
  • JSI
阅读更多
今天看到bellstar大侠发布的SUI,也看了一些设计及实现原理。觉得也应该吧自己以前的一些想法拉出来晒晒,交流一下,也希望对SUI的发展能有些参考价值,仅供参考而已。

文章是一年前写的,而且这些想法也在我JSISide中得到实现。与SUI重装出击的风格不同的是我在JSISide中的实现是非常轻量级的。
演示地址见:http://www.xidea.org/project/jsiside/decorator/

引用


    *  标签约定
          o 放弃以前的自定义标签形式,而采用自定义属性
    * 属性约定
          o 通过-字符切分单词,能后使用骆驼风格转换成属性,赋值给装饰器对象
          o 可以通过 #{}取脚本返回值,以定义复杂属性,和非字符串型的属性。
    * ID自动生成
          o 沿用1.0的方式,获取或自动生成html元素id,而不记录html元素对象。
    * 装饰器装载
          o 决定抛弃1.0中的provider属性,直接使用 d:class 属性指明装饰器类路径。
          o 也可以设置默认装饰器包,装载装饰器时,探测默认包中是否存在指定的类名,不存在则按照完整路径寻找并异步装载装饰类。
    * 构造函数
          o MyDecorator(engin,parentDecorator);
          o 构造器中传入装饰引擎对象和父装饰器,是否记录自行决定。
    * 初始化
          o 当装饰器实例身成后,立即更具元素属性,自动设置html标签中指定的属性集。
    * before
          o MyDecorator.prototype.before(child1,child2,child3...)
          o 传入子装饰器元素,这时子装饰器紧紧执行了构造函数,赋值操作,并未执行before方法。
    * decorate
          o MyDecorator.prototype.decorate(child1,child2,child3...)
          o 传入子装饰器元素,这时子装饰器已经完成了全部行为。

分享到:
评论

相关推荐

    JSI-full-2.0

    2. **example**:这个目录可能包含了一些示例代码或页面,用来展示JSI-full-2.0的功能和用法。开发者可以通过这些例子快速理解和学习如何使用这个项目。 3. **images**:存放图像资源的文件夹,可能包括logo、图标...

    JSI, java脚本开发工具

    JSI框架提供一个无侵入的脚本库管理解决方案,和一个全面的前端开发调试、文档解析、模版编译、打包导出环境支持。 作为一个开发期间的脚本管理工具,让开发者在开发期间享受JSI带来的种种便捷,也可以作为一个运行...

    海尔液晶电源 0094001224B JSI-190419-050 JSI-220409-050原理图.pdf

    根据提供的信息,我们可以了解到这份文档是关于海尔液晶电视电源板(型号:0094001224B JSI-190419-050 JSI-220409-050)的原理图。这份原理图详细地展示了电源板的内部电路结构、元件布局及其连接方式等关键信息。...

    JSI-GAN:JSI-GAN的官方存储库(于AAAI 2020接受)

    这是JSI-GAN(AAAI2020)的官方存储库。 我们提供了培训和测试代码,以及经过训练的权重和用于JSI-GAN的数据集(train + test)。 如果您发现此存储库有用,请考虑引用我们的。 参考: Soo Ye Kim *,Jihyong Oh ...

    jsi-modules:用jsi进行模块学习

    在JSI中,你可以模拟一些Node.js的特性,例如事件驱动编程和非阻塞I/O,这对于理解Node.js的工作原理及其在大型项目中的应用非常有帮助。 "jsi-modules-master"压缩包很可能是包含了一系列的练习和示例代码,涵盖了...

    using使用JSI为React Native提供快速简便的多线程-C/C++开发

    react-native-multithreading using使用JSI的React Native的快速简便的多线程处理。 安装npm install react-native-multithreading npx pod-i react-native-...Why为什么自从JSI成为主流以来,可能会有一些功能

    海尔液晶电源背光板 0094001274E JSI-320411 原理图.pdf

    ### 海尔液晶电视电源背光板0094001274E JSI-320411原理图解析 #### 概述 本文将详细解析海尔液晶电视电源背光板0094001274E JSI-320411原理图中的关键元件及其功能、电路设计思路与工作原理,帮助读者更好地理解该...

    轻量系统JS-UI框架子系统

    - **高效渲染**: ArkUI ACE Engine Lite作为框架的引擎,实现了高效的UI渲染机制,优化了性能,使得界面响应迅速。 - **组件化开发**: 提供丰富的UI组件库,包括按钮、文本、图片等,开发者可以通过组合这些组件...

    jsi-wikifier-api

    JSI Wikifier OpenAPI规范 JSI Wikifier API文档存储库。链接文档: : SwaggerUI: ://jsi-eubusinessgraph.github.io/jsi-wikifier-api/swagger-ui/ 看完整规格: JSON YAML 警告:仅当Travis CI完成部署后,以上...

    自定义三种方式进度条

    在Android开发中,自定义控件是提升应用用户体验和界面美观度的重要手段。本文将深入探讨如何使用Canvas来实现自定义的三种方式进度条。Canvas是Android图形绘制的基础,通过它可以进行复杂的图形操作,包括线条、...

    eccl-jsi.github.io

    eccl-jsi.github.io

    HDT-JSI01

    【HDT-JSI01】项目是一个以JavaScript为核心的开发实践,它可能是一个开源项目或者教程,因为通常在编程领域,这种命名格式常用于版本控制或学习资源。JavaScript是一种广泛使用的编程语言,尤其在网络开发中扮演着...

    jsish:Jsi是一个小型的C嵌入式javascript解释器,具有紧密编织的Web和DB支持

    Jsi是带有内置websocket-server,sqlite和C -extensibility的javascript -ish解释器。 | | | 快速开始下载适用于 / 的二进制文件: wget ...

    java推荐算法源码-jsi:Java空间索引

    java程序推荐源码 ...然后添加一些矩形; 每个人都有一个ID。 final Rectangle[] rects = new Rectangle[100]; rects[0] = new Rectangle(0, 10, 0, 10); rects[1] = new Rectangle(0, 11, 1, 20); si.add

    Java Spatial Index.zip

    4. **优化策略**:在大型数据集上,为了保持查询效率,JSI可能会包含一些优化策略,如批处理、缓存以及动态调整索引结构等。 5. **测试和示例**:源码包中可能包含单元测试和示例应用,用于验证索引功能并展示如何...

    javascript sfs

    javascript sfs多个关键字请用空格分隔,最多填写5个。点击右侧Tag快速添加

    react-native-multithreading:using使用JSI为React Native提供快速简便的多线程

    :thread: 使用JSI的React Native的快速简便的多线程处理。 安装 npm install react-native-multithreading npx pod-install 需要包括的react-native-reanimated版本。 您可以自己打补丁,也可以等到它发布后再...

    Java 空间索引.zip

    Java 空间索引概述Java 空间索引项目旨在维护 RTree 空间索引算法的高性能 ...然后添加一些矩形每个矩形都有一个 ID。final Rectangle[] rects = new Rectangle[100];rects[0] = new Rectangle(0, 10, 0, 10);rects[1]

    react-native-quick-md5:快速C ++实现与MD5的JSI绑定,用于React Native

    通过React 5的MD5的JSI绑定,以极快的速度实现C ++实现。 确认它比在iPhone 11 Pro上使用快10倍,在Essential Phone上快8倍。 您可以在下查看基准测试。 安装 npm install react-native-quick-md5 用法 import { ...

    正泰LQG-0.66型电流互感器.PDF

    正泰LQG-0.66型电流互感器PDF,

Global site tag (gtag.js) - Google Analytics