FAQ

已经用其他框架开发的项目,如何半途接入?

AMS底层依赖是Vue.js,而AMS里的区块(block)概念本质就是封装好的Vue组件。接入及剥离都是以组件为单位,对其它代码没有过多侵入性。

第一种情况:在一个已经写好的Vue.js的页面里,可以像插入普通组件的方式在某个位置接入AMS区块的:使用block

第二种情况:如果在非Vue.js项目接入,支持以单独新页面的方式接入AMS。但是如果想在原有的页面去改造某一块功能或新增一块功能,结果不确定,要看具体接入案例。

包含普通Vue、ncform和AMS组成的在线Demo演示:点击查看DemoFAQ - 图1

Vue的组件如何整合?本来是Vue的配置,能否部分页面接入ams?

AMS里的区块(block)概念本质就是封装好的Vue组件,可以参考:使用block

同名ams的block如何检测

AMS的区块都是通过name来注册和使用的,和其它Vue组件一样,名字成为唯一标识。如果同一个项目里出现名字重复的组件就会发生重复冲突警告。

如果新开项目都是用ams开发,需要在部分页面使用外部系统页面,如何处理?

可以使用component区块注册一个iframe,设置src为外部页面的url,即可接入

示例如下:

  1. iframeBlock: {
  2. type: 'component',
  3. options: {
  4. is: 'iframe'
  5. },
  6. props: {
  7. src: 'http://xxx.vip.com/id=11',
  8. frameborder: 0
  9. }
  10. }

表格是否可以接入ncform类似产品?

ncform的底层依赖和AMS一样,都是Vue.jsElemen-UI,而ncform也是以Vue的组件方式插入Vue的项目中,也和AMS一样。所以分两种情况接入:

(1)ncformams-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 APIAMS的action思维结合的更好,考虑会优先支持Vue3.0 +typescript,其他框架如React和Augular看用户使用规模和市场需求再做计划