检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
在华为云Astro轻应用中自定义高级页面组件(widget)时,修改了JS文件,修改部分不生效? 问题描述 修改自定义组件widget的JS文件后,修改部分未生效。 解决方法 自定义组件(widget)上传新的版本后,需要在“页面设置”中,对插件进行升级更新。
如何通过JS代码,实现页面与后台接口间的交互 使用说明 如果您擅长编写JS代码,可以不使用事件编排器中的内置动作,直接通过手动编写JS代码实现事件的逻辑功能。
从左侧“动作”区,设置“内置动作”或“自定义动作”,自定义动作需自定义JS代码逻辑,可单击代码区域右侧的,最大化自定义JS代码页面。 图1 页面自定义JS代码 在左侧模板代码中,单击服务编排或脚本左侧的,复制代码到右侧代码编辑区域,即可出现系统预置的经典接口。
0) 0826 10:20:14.685|debug|vm[86]>>> script: Test_CSS1 1.0.1 (<unknown>.ts:0) 0826 10:20:14.685|debug|vm[86]>>> locale: zh_CN (<unknown>.ts
/circle'; 平台只允许“.ts”扩展名文件存在,不允许包含“.js”后缀的模块,请尽量不要使用待扩展名的导入方式。如下方式等同上面的举例,但不推荐。 import * as circle from '.
0) 0826 10:20:14.685|debug|vm[86]>>> script: Test_CSS1 1.0.1 (<unknown>.ts:0) 0826 10:20:14.685|debug|vm[86]>>> locale: zh_CN (<unknown>.ts
标准页面中预置的API 在开发标准页面时,可以通过编写JS代码,来实现页面组件与后台接口之间的交互。如图1所示,在编写JS代码时,可直接使用系统预置的API。 系统预置的API代码结构样例如下,提供事件上下文context,用于封装常用的对象及API。
如下加粗代码所示,“widget_demo_property.editor.js”中分别定义了text、 checkbox以及select类型的三个属性参数。
目录结构如图3所示,其中userLogin.js文件是写vue业务逻辑的代码,userLogin.ftl用于写html代码,userLogin.css用于写样式代码,userLogin.editor.js以及packageinfo.json是配置文件。
单击fetch.zip,下载示例库文件包,示例文件中包含需要引入的JS文件和一个元数据描述文件,如图2所示。 图2 示例库文件 其中,packageinfo.json是元数据描述文件,上传的第三方库文件中都必须包含此文件,文件内的结构如下图3所示。
例如,查看组件editor.js文件中model值为“SingleRepireDataViewModel”,查看“折柱图数据桥接器”和“柱状图和折线图数据桥接器”的“packageinfo.json”文件中model值同样为“SingleRepireDataViewModel”。
表2 result参数说明 参数 参数类型 描述 bingo.d.ts String 参数解释: 调用的脚本库。 取值范围: 不涉及。 lib.es5.d.ts String 参数解释: ES5语法的标准库。 取值范围: 不涉及。 请求示例 获取内置库的声明。
选择“自定义动作”,在右侧事件定义区域,输入实现事件逻辑的JS代码,也可从左侧拖动相关模板至右侧事件定义区域,单击“创建”。 内置JS事件说明及使用方法,请参见如何通过JS代码,实现页面与后台接口间的交互。
组件 在开发自定义组件时,需要定义“组件名.js”文件,该文件为组件逻辑文件,是整个组件的渲染核心JS,在组件编辑状态和页面最终的发布运行态都会被加载执行。主要包含的预置API说明,请参见表1。
若勾选“合并并压缩资源”,会对所有高级页面涉及的css和js文件进行合并及压缩,使用单页面性能检查功能时,不要勾选该选项。 图1 关闭“合并并压缩资源”属性 设置完成后,单击,并单击,释放锁。
例如,MintUI库需要引入文件“js/index.js”和“css/index.css”,请在packageinfo.json中添加这两个文件的描述。其中,“js”和“css”用于定义文件类型,“name”用于定义文件路径及名称。
站点设置 合并并压缩资源:勾选后,在发布该应用时,对应用中所有高级页面涉及的css和js文件进行合并及压缩,这样可以有效降低运行时服务器压力,但从终端浏览器首次访问该站点页面时,访问时间会稍微增加。 资源延迟加载:勾选后,在body标签中加载资源。
(命名空间__testsingleredis.ts:8) 0829 14:09:10.901|debug|vm[7]>>> true (命名空间__testsingleredis.ts:9) 0829 14:09:10.902|debug|vm[7]>>> 2 (命名空间__testsingleredis.ts
输入自定义JS代码,调用库中的方法获取git仓库的地址。 关于fetch的使用方法及介绍,请参考Fetch API。
1 (NS__testsingleredis.ts:8) 0829 14:09:10.901|debug|vm[7]>>> true (NS__testsingleredis.ts:9) 0829 14:09:10.902|debug|vm[7]>>> 2 (NS__testsingleredis.ts