从本质上来说,vue的开发不适合嵌入到ext.net页面上,因为vue在开发单页页面和数据交互是才可以充分展示其强大的作用,如果是在ext.net页面中嵌入一个vue页面,先不说vue组件无法使用的问题,数据交互与绑定更是一个严峻的问题。
目前在ext.net中嵌入vue有两种办法
第一种:
开发一个独立的html页面,采用AMD方式加载vue库,然后采用普通写法实例化vue,紧接着获通过ajax获取数据并绑定到vue的独立页面上,然后渲染数据,最后在ext.net中通过tabpanel控件load该页面。在这个情况下,vue页面与ext.net页面脱节,数据较难在两个页面内交互,如果在vue页面中想要操作ext.net页面的某个控件将比较曲折,其次,该独立页面采不采用vue其实完全没有区别,因为能抽出来做独立页面的页面大部分都是展示型的页面,交互性不是特别强,用jq可以完全胜任。
第二种:
在原有EXT.NET页面上采用AMD方式加载vue.js的库,然后在某个控件上添加content节点,再通过js去实例化vue,最后完成数据渲染和数据提交。
弊端:数据交互比较麻烦,是vue的一个不太好的用法,无法发挥vue理论上的作用。
对应方法:要深入了解ext.net的开发,了解如何在控件内通讯,如何在页面上通讯,其次vue不要采用npm等方式开发,也不要使用路由、组件等高级用法,这将导致vue代码后期难以修改。
采用嵌入的方式可以实现所需效果,但个人觉得这样开发反而减低了开发效率,因为太小的页面没必要用vue、稍微大点的页面嵌入vue又会显得吃力,最后还是建议嵌入jq页面。
网友评论