FAQ
已经用其他框架开发的项目,如何半途接入?
AMS底层依赖是Vue.js
,而AMS里的区块(block)概念本质就是封装好的Vue组件。接入及剥离都是以组件为单位,对其它代码没有过多侵入性。
第一种情况:在一个已经写好的Vue.js的页面里,可以像插入普通组件的方式在某个位置接入AMS区块的:使用block
第二种情况:如果在非Vue.js项目接入,支持以单独新页面的方式接入AMS。但是如果想在原有的页面去改造某一块功能或新增一块功能,结果不确定,要看具体接入案例。
包含普通Vue、ncform和AMS组成的在线Demo演示:点击查看Demo
Vue的组件如何整合?本来是Vue的配置,能否部分页面接入ams?
AMS里的区块(block)概念本质就是封装好的Vue组件,可以参考:使用block
同名ams的block如何检测
AMS的区块都是通过name来注册和使用的,和其它Vue组件一样,名字成为唯一标识。如果同一个项目里出现名字重复的组件就会发生重复冲突警告。
如果新开项目都是用ams开发,需要在部分页面使用外部系统页面,如何处理?
可以使用component区块注册一个iframe,设置src为外部页面的url,即可接入
示例如下:
iframeBlock: {
type: 'component',
options: {
is: 'iframe'
},
props: {
src: 'http://xxx.vip.com/id=11',
frameborder: 0
}
}
表格是否可以接入ncform类似产品?
ncform
的底层依赖和AMS一样,都是Vue.js
和Elemen-UI
,而ncform
也是以Vue的组件方式插入Vue的项目中,也和AMS一样。所以分两种情况接入:
(1)ncform
和ams-block
都以独立的组件方式插入到同一个页面,各自独立工作(比如用ams-block
搭建一个列表,用ncform
搭建一个表单),是没有问题的。
(2)如果想在ams-block
组件里插入一个ncform
(比如,ams-block
开发了一个弹窗,然后想在弹窗里面放一个ncform
表单),这种方式暂时不支持。
结论:ncform
只是实现比较较单一的表单功能,作为独立工作和AMS互不影响。但是如果想要AMS完全兼容它的配置融合在一起相互作用,感觉没必要。原因:ncform
并不是一个很流行的产品(其实只是一个Vue组件),而且配置也说不上简单易用,AMS的简单配置可以达到同样的功能。硬要AMS兼容ncform反而增加用户上手成本(需要额外学习ncform
)和增加AMS的复杂度,除非未来真有大量用户需求。
底层是否有支持React/Angular的计划?
目前AMS底层以Vue为主,考虑到即将发布的Vue3.0
提供的Function-based API
跟AMS
的action思维结合的更好,考虑会优先支持Vue3.0
+typescript
,其他框架如React和Augular看用户使用规模和市场需求再做计划