dcloudio / uni-app

A cross-platform framework using Vue.js
https://uniapp.dcloud.io
Apache License 2.0
40.18k stars 3.64k forks source link

小程序如何添加通用全局组件? #785

Closed snwyz closed 5 years ago

snwyz commented 5 years ago

问题描述 [问题描述:尽可能简洁清晰地把问题描述清楚] 已在app.json中添加globalStyle添加自定义组件,如果要使用该组件,就需要组件引用标签。如何配置顶层全局的引用标签,就无需每个地方都去写组件引用标签?

补充信息 是否有一个扩展的编译接口,方便开发者写入小程序全局引用标签

javascriptchen commented 5 years ago

uni-app 支持配置全局组件,需在 main.js 里进行全局注册,注册后就可在所有页面里使用该组件。 https://uniapp.dcloud.io/use?id=%e5%85%a8%e5%b1%80%e7%bb%84%e4%bb%b6

snwyz commented 5 years ago

uni-app 支持配置全局组件,需在 main.js 里进行全局注册,注册后就可在所有页面里使用该组件。 https://uniapp.dcloud.io/use?id=%e5%85%a8%e5%b1%80%e7%bb%84%e4%bb%b

微信自定义组件?比方说我需要引入vant-ui小程序部分组件做为全局组件

fxy060608 commented 5 years ago

uni-app 支持配置全局组件,需在 main.js 里进行全局注册,注册后就可在所有页面里使用该组件。 https://uniapp.dcloud.io/use?id=%e5%85%a8%e5%b1%80%e7%bb%84%e4%bb%b

微信自定义组件?比方说我需要引入vant-ui小程序部分组件做为全局组件

不是 globalStyle 中配置 usingComponents,然后其他地方直接使用该组件就行了么,你说的每个地方引用组件标签是什么意思

snwyz commented 5 years ago

uni-app 支持配置全局组件,需在 main.js 里进行全局注册,注册后就可在所有页面里使用该组件。 https://uniapp.dcloud.io/use?id=%e5%85%a8%e5%b1%80%e7%bb%84%e4%bb%b

微信自定义组件?比方说我需要引入vant-ui小程序部分组件做为全局组件

不是 globalStyle 中配置 usingComponents,然后其他地方直接使用该组件就行了么,你说的每个地方引用组件标签是什么意思

只想在一个地方全局申明写入组件标签,然后其他地方无需再申明该标签,直接可用。比方说在编译时动态插入一段申明组件标签?

fxy060608 commented 5 years ago

你是想连

<custom-component/>

这个写法也省略掉,直接编译器注入?

snwyz commented 5 years ago

你是想连

<custom-component/>

这个写法也省略掉,直接编译器注入?

嗯 只想写一次 比方说很多页面都依赖该组件时

fxy060608 commented 5 years ago

这个需求比较小,你这是固定了插入的代码,插入的位置,一般来说即使是全局组件,在不同地方引用的时候,还有可能传入不同的 props 参数 你这个注入小程序组件的需求,可以使用 cli,然后写个 webpack 插件,在 emit 的时候,处理编译后的 wxml 文件,自己插入节点

jayconscious commented 4 years ago

全局的组件否能全局注入引用(比如客服组件),还是要每一个页面都要单独引入?