快速上手 ¶
如何使用 ¶
通过npm和下载方式的配置之后,在某个页面可以直接使用组件,无需通过import
引入组件。
配置easycom规则后,自动按需引入,无需import组件,直接引用即可。
html
<template>
<cv-input-text label="文本" v-model=""/>
</template>
html
<template>
<view>
<up-action-sheet :actions="list" :title="title" :show="show"></up-action-sheet>
<up-button @click="show = true">打开ActionSheet</up-button>
</view>
</template>
<script>
export default {
data() {
return {
title:'标题',
list: [
{
name:'选项一',
subname:"选项一描述",
color:'#ffaa7f',
fontSize:'20'
},
{
name: '选项二禁用',
disabled:true
},
{
name: '开启load加载', //开启后文字不显示
loading:true
}
],
show: false
};
}
};
</script>
关于uni.$u ¶
从1.7.9
开始,uView将$u
对象同时挂载到了uni
对象上,这意味着您可以在外部的js
文件中,通过uni.$u.xxx
的形式去调用uView提供的一些工具方法,而不再像从前一样必须在*.vue
中通过uni.$u.xxx
的形式调用。
如何不使用easycom而单独引用某一个组件 ¶
某些情况下,您可能不想通过easycom引用组件(虽然我们极力推荐您使用easycom),那么您可以使用import
这个常规的引入方式,如下:
html
<template>
<up-action-sheet :list="list" v-model="show"></up-action-sheet>
</template>
<script>
import uActionSheet from "uView-ui/components/up-action-sheet/up-action-sheet.vue";
export default {
components: {
uActionSheet
},
data() {
return {
list: [{
text: '点赞',
color: 'blue',
fontSize: 28
}, {
text: '分享'
}, {
text: '评论'
}],
show: true
}
}
}
</script>
关于uView组件的esaycom规则可能和其他组件引入名称冲突的问题 ¶
uView的组件引入是通过easycom形式的,写在pages.json中,以up-
开头,这可能和其他UI组件,或者uni-app插件市场的uParse修复版-html富文本加载组件名冲突而报错, 原因是此uParse
的组件引用名为up-parse
,也是up-
开头,即使您在页面中显式地配置了组件引入,但uni-app仍认为easycom配置的规则优先级比页面引入的组件规则高。
以下为uParse
第三方插件的官方写法:
html
<template>
<up-parse :content="xxx"></up-parse>
</template>
<script>
import uParse from '@/components/gaoyia-parse/parse.vue'
export default {
components: {
uParse
}
}
</script>
可以看到,上方虽然通过import
声明了此组件,最终引用的组件名称为<up-parse>
("up-"开头),但是uni-app仍然忽视了,而认为uView在pages.json
配置的easycom规则的优先级更高,因而去uView的组件库 中查找up-parse
,因为找不到而报错,这是不合理的。
解决办法也很简单,给冲突的插件换一个名字即可,比如上面的uParse
插件,我们在import
和components
声明的时候换一个名字即可,比如这里让其为字母a
开头:
html
<template>
<a-parse :content="xxx"></a-parse>
</template>
<script>
// 记得同时修改引入的名称,以及components中的名称
import aParse from '@/components/gaoyia-parse/parse.vue'
export default {
components: {
aParse
}
}
</script>