浅谈VUE uni-app 自定义组件
1.父组件向子组件传递数据可以通过 props
2.子组件向父组件传递数据可以通过自定义事件,父组件自定义事件,子组件触发父组件的事件,并传传递数据
3.子组件可以定义插槽slot,让父组件自定义要显示的内容
4.使用easycom规范,可以真接使用组件
page/news/news.vue
<template>
<view>
<veiw>自定义组件使用规范</veiw>
<card color="red" @fclick="fclick"></card>
<card color="yellow">黄色组件</card>
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
fclick(msg){
console.log('父组件收到子组件传递的值:'+msg);
}
}
}
</script>
<style>
</style>
组件:components/card/card.vue
<template>
<view :style="{background:color}" @click="zclick">
自定义组件<slot></slot>
</view>
</template>
<script>
export default {
name:"card",
props:{
color:{
type:String,
default:'white'
}
},
data() {
return {
};
},
methods:{
zclick(){
console.log('点了子组件');
this.$emit('fclick','定击事件传递给父组件');
}
}
}
</script>
<style>
</style>
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!
相关推荐
-
浅谈VUE uni-app 开发环境
目录 1.通过 HBuilderX 可视化界面 2.通过 vue-cli 命令执行 总结 1.通过 HBuilderX 可视化界面 a. 创建uni-app: b. 运行uni-app; c. 发布uni-app 2.通过 vue-cli 命令执行 a. 安装node.js,下载地址:https://nodejs.org/en/download/ ##检查node.js 版本 node -v v14.18.1 npm -v b. 全局安装 vue-cli npm install -g @vue/
-
浅谈VUE uni-app 模板语法
1.v-bind(简写 :) 组件属性中要使用data中定义的数据变量,或组件属性要使用表达式,需用v-bind指定 简写 : 2.v-on(简写@) 监听DOM事件 click.stop 可以阻止事件穿透 3.v-model 数据双向绑定 4.v-if,v-else-if,v-else 条件判断,决定某个内容是否挂载 5.v-show 条件判断,决定某个内容是否显示 6.三元运算符 7.空标签 block 8.v-for:列表渲染 <template> <view v-bind:cla
-
浅谈VUE uni-app 核心知识
目录 规范 a. 页面文件遵循vue单文件组件规范 b. 组件标签靠近小程序规范 c. 接口能力(JS API)靠近微信小程序规范 e. 数据绑定及事件处理使用Vue.js 规范 特色 a. 条件编译 b. App端的Nvue开发 c. HTML5+ 总结 规范 a. 页面文件遵循vue单文件组件规范 <!-- 模板块 --> <template> <view class="main"> {{msg}} </view> </temp
-
浅谈VUE uni-app 常用API
目录 一.路由与页面跳转 二.界面 总结 一.路由与页面跳转 uni.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面.uni.redirectTo(OBJECT) 关闭当前页面,跳转到应用内的某个页面.uni.reLaunch(OBJECT) 关闭所有页面,打开到应用内的某个页面.uni.switchTab(OBJECT) 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面.uni.navigateB
-
浅谈VUE uni-app 基础组件
1 .scroll-view 使用竖向滚动时,需要给 一个固定高度,通过 css 设置 height:使用横向滚动时,需要给添加white-space: nowrap;样式. scroll-y:允许纵向滚动,scroll-x:允许横向滚动 @scroll: 滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY} 数据双向绑定 <template> <view> &
-
浅谈Vue内置component组件的应用场景
官方的说明 渲染一个"元组件"为动态组件.依 is 的值,来决定哪个组件被渲染. <!-- 动态组件由 vm 实例的属性值 `componentId` 控制 --> <component :is="componentId"></component> 具体可以官网文档中的 动态组件 内置的组件component 场景 这里通过一个业务场景来阐述vue内置component组件的应用. 如图所示,这里展示经典注册页面,注册分为邮箱注册
-
浅谈Vue父子组件和非父子组件传值问题
本文介绍了浅谈Vue父子组件和非父子组件传值问题,分享给大家,具体如下: 1.如何创建组件 1.新建一个组件,如:在goods文件夹下新建goodsList.vue <template> <div class='tmpl'> goodsList组件 </div> </template> <style> </style> <script> export default { data() { return{} }, creat
-
浅谈vue中组件绑定事件时是否加.native
组件绑定事件时 1. 普通组件绑定事件不能添加.native, 添加后事件失效 2. 自定义组件绑定事件需要添加.native, 否则事件无效 <template> <!-- <mt-field label="用户名" placeholder="请输入用户名"></mt-field> --> <input type="text" @keyup.native="show($event)
-
浅谈vue单一组件下动态修改数据时的全部重渲染
今天在学习vue的过程中,发现一个有趣的现象. 在某一组件下的某一数据通过点击事件被动态修改的时候,对应view中的数据同步的进行了修改,没错,这不是废话吗,vue的一大特色就是数据的双向绑定.可有趣的是,该组件下我写的另一个用Math.random()的data值对应的值和视图也发生了变化 这就让我这个刚入门的小白有点奇怪了,我修改一个,怎么变了两个????脑洞放开一想,会不会数据在双向同步的时候,发生了什么,比如.是不是只要有一个节点变了,node都重新进行了加载??? 我想这其中的缘由必定
-
浅谈vue 组件中的setInterval方法和window的不同
vue组件中,this指向实例,[实例中重写了setInterval等一整套方法].所以,千万不能和 window 下挂载的方法混用 具体不同在于,window.setInterval执行完比后返回一个id,而vue实例中返回[定时器对象],当然该对象中包含一个_id的私有属性 因为 clearInterval 方法参数是id,所以最佳实践是统一使用 window 的方法,不要使用 vue组件的方法 vue中的定时器方法,要使用箭头函数,不要出现 const that = this 的写法 //
-
浅谈Vue 函数式组件的使用技巧
什么是函数式组件 没有管理任何状态,也没有监听任何传递给它的状态,也没有生命周期方法,它只是一个接受一些 prop 的函数.简单来说是 一个无状态和无实例的组件 基本写法: Vue.component('my-component', { functional: true, // Props 是可选的 props: { // ... }, // 为了弥补缺少的实例 // 提供第二个参数作为上下文 render: function(createElement, context) { // ... }
-
浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑
1.打包项目 期间遇到的坑,提前说下,避免重复工作. 1.1打包的app出现白屏. 出现原因:路径不对,需要改config\index.js 解决办法:修改打包的路径. 1.2点击页面跳转不了,报 Loading chunk 2 failed. 等错误. 出现原因:不能用history配置路由,要用hash 解决办法:修改路由mode属性为hash. 1.3.点手机物理按钮,直接退出程序. 出现原因:无理返回键直接用监听不到路由,会直接退出程序. 解决办法:可以引入mui,就能正常使用了. 1.
-
浅谈vue中子组件传值的默认值情况
当父组件中的content值没有传入时,子组件利用default属性设置默认值,此情况时,页面会显示default value. 当传入content的值时,default属性的默认值不生效,界面显示为: 补充知识:Vue父组件向子组件传值遇到的BUG 当子组件中含有props属性,使用ref对其中的prop属性赋值时报错 Avoid mutating a prop directly since the value will be overwritten whenever the parent
-
浅谈Vue的组件间传值(包括Vuex)
目录 父传子: 子传父: 在不使用Vuex的情况下,组件间传值的方式是通过父传子的方式或者兄弟组件传值. 父传子: fatherComponent: <template> <div> <HELLOWORLD :needData="content"></HELLOWORLD> </div> </template> <script> import HELLOWORLD from '../components
-
浅谈Vue.js
vue.js的总体评价"简单却不失优雅,小巧而不乏大匠" Vue.js简介 Vue.js的作者为Evan You(尤雨溪),任职于Google Creative Lab,虽然Vue是一个个人项目,但在发展前景上个人认为绝不输于Google的AngularJs,下面我会将Vue与Angular(Angular 1.0+版本)做一些简单的比较. Vue的主要特点就和它官网(http://cn.vuejs.org/)所介绍的那样: (1) 简洁 (2) 轻量 (3)快速 (4) 数据驱动 (
随机推荐
- Lua中的函数精讲笔记
- MySQL与Oracle 差异比较之四条件循环语句
- Oracle数据库执行脚本常用命令小结
- Django中对数据查询结果进行排序的方法
- python实现的防DDoS脚本
- 有关Server.Mappath详细接触
- C语言与JAVA的区别是什么(推荐)
- Android使用开源框架ANDROID-IMAGE-INDICATOR实现图片轮播部署
- mysql 5.7.11 winx64快速安装配置教程
- javascript连续赋值问题
- jQuery实现页面评论栏中访客信息自动填写功能的方法
- 基于JQuery的Ajax方法使用详解
- jquery实现放大镜简洁代码(推荐)
- js几个广告轮换广告代码
- 学习php设计模式 php实现享元模式(flyweight)
- C++线性时间的排序算法分析
- Windows下使用批处理文件.bat删除旧文件
- Java8中Optional的一些常见错误用法总结
- 易语言使用office工具支持库中的宏命令
- scala 读取txt文件的方法示例
