didi / chameleon

🦎 一套代码运行多端,一端所见即多端所见
http://cml.didi.cn/
Apache License 2.0
9.02k stars 692 forks source link

求助:使用chameleon开发微信小程序,如何自定义custom-tab-bar,放到什么位置 #328

Open wangs1991 opened 5 years ago

wangs1991 commented 5 years ago

描述出现的问题:微信实现自定的src/app/app.cml。 由于微信小程序自定义custom-tab-bar需要把组件放到项目根目录,使用chameleon如何实现这个功能。 应该是在src/app/app.cml中添加相关的配置,但是生成的组件如何指定到微信产出根目录下?而且json中图片的路径不会被替换。 还有 src/app/app.cml 最顶部这个引用是干什么用的,和实现这个功能有什么关系?没看到相关的文档介绍,网上可以找到的资源太少了希望可以得到解答!

jimwmg commented 5 years ago

CML 作为一端代码运行多端的框架,所有接口设计都考虑的是具备跨端要求的设计,没有使用任何一端的接口设计规范,而是全新一套框架. 例如,如果你是微信小程序开发者,当你想使用 tabbar 功能时,可能会在app.json 里面配置,这是错误的,这是微信特有模式,只在微信里面有效。在 cml 中请使用 c-tabbar 来实现,这样所有端都有效。

wangs1991 commented 5 years ago

感谢回复!这个概念大概是理解,我可以理解成在下面的配置中定义tabBar custom=true是无效的咯? 另外可以解释一下模板中最顶部引用文件的作用么【src/app/app.cml 最顶部这个引用是干什么用的】?这个看着就是微信自定义tab栏的组件引用呢,谢谢解答。


src/app/app.cml

<script cml-type="json">
{
  "wx": {
    "window": {
      "backgroundTextStyle":"light",
      "navigationBarBackgroundColor": "#fff",
      "navigationBarTitleText": "Chameleon",
      "navigationBarTextStyle":"black",
      "navigationStyle": "custom"
    },
   "tabBar": {
    "custom": true,
    "color": "#a8a8a8",
     ......
    }
  }
}
</script>`
jimwmg commented 5 years ago

【src/app/app.cml 最顶部这个引用是干什么用的】? 这个是什么意思呢?怎么来的