efw 与 Vue.js 集成示例
概述
本示例展示了如何将 efw 框架与 Vue.js 前端框架进行集成,实现前后端分离的开发模式。efw 负责后端数据处理和业务逻辑,Vue.js 负责前端的用户界面和状态管理,二者通过 efw事件 进行通信。
核心文件
- 集成界面页面:
helloVue.jsp - 数据初始化处理:
helloVue_init.js - 数据发送处理:
helloVue_send.js
功能特性
1. 前端 Vue.js 功能
响应式数据绑定
// Vue 3 Composition API
const data = Vue.ref({});
事件处理
// 方法定义
const vueSend = function() {
Efw('helloVue_send', { data: data.value })
.then(function(ret){
data.value = ret;
});
};
模板语法
<!-- 双向数据绑定 -->
<input v-model="data.item1">
<!-- 条件渲染 -->
<span v-if="data.item18">选中</span>
<span v-else>未选中</span>
<!-- 列表渲染 -->
<tr v-for="(item, index) in data.item22datas" :key="index">
2. 后端 efw 功能
数据提供
// 使用 provide 方法返回数据
return new Result().provide(data);
错误处理
框架会自动捕获数据库相关的错误且回滚事务处理。 没有特殊需求,不需要对数据库处理加try-catch处理。
消息传递
// 添加通知消息
return new Result()
.provide(data)
.alert("操作成功");
3. 基本数据流
初始化流程
- 页面加载时调用 helloVue_init 事件
- 后端返回初始数据
- Vue.js 将数据绑定到界面
数据发送流程
- 用户在界面修改数据
- 点击发送按钮触发 vueSend 方法
- 调用 helloVue_send 事件并传递数据
- 后端处理数据并返回结果
- 前端更新界面显示