vue——props的两种常用方法

vue——props的两种常用方法

1、实现父——>子的通信

举例如下:

父组件 parent.vue


<children :channel="object1"></children>

子组件 children.vue

    export default{        name:"children",        props:["channel"],        data(){            return{                newChannel:null            }        }        methods:{            func1(){                this.newChannel = this.channel;            }        }    }

父组件object1的值放在channel变量,然后传入给子组件。这样可以达到父子之间的通信



2、校验变量

还可以通过组件传入的值判断是否符合要求,如果不符合发出警告,例如:

props:{     blackFlag:{          type:Boolean,          default:false     },     options:{          type:object     },     propsA:{         validator(value){               return value > 10          } ,          default:11     }}

type 就是校验的要求,可以是如下类型:

  1. string
  2. number
  3. function
  4. boolean
  5. object
  6. array
  7. symbol

(校验变量的以上内容来自官方文档)

举个项目中用到的例子:

通过一个变量来控制一个组件的黑白皮肤显示,当变量存在时组件显示黑皮肤,不存在则默认白皮肤


props:{
blackFlag:{
type:Boolean,
default:false
}
},
methods:{
func1(){
if(this.blackFlag){
//黑皮肤 do
}else{
//白皮肤 do
}
}
}

<Loading blackFlag></Loading>
时间: 2024-10-24 22:25:20

vue——props的两种常用方法的相关文章

vue路由的两种模式配置以及history模式下面后端如何配置

vue路由的两种模式配置以及history模式下面后端如何配置 1.hash ——即地址栏URL中的#符号.hash 虽然出现URL中,但不会被包含在HTTP请求中,对后端完全没有影响,因此改变hash不会重新加载页面.2.history ——利用了HTML5 History Interface 中新增的pushState() 和replaceState() 方法.需要特定浏览器支持history模式,会出现404 的情况,需要后台配置.3.hash模式下,仅hash符号之前的内容会被包含在请求

vue路由的两种模式,hash与history

对于Vue 这类渐进式前端开发框架,为了构建SPA(单页面应用),需要引入前端路由系统,这也就是Vue-router存在的意义.前端路由的核心,就在于——— 改变视图的同时不会向后端发出请求. 一.为了达到这个目的,浏览器提供了以下两种支持: 1.hash ——即地址栏URL中的#符号(此hsah 不是密码学里的散列运算). 比如这个URL:http://www.abc.com/#/hello, hash 的值为#/hello.它的特点在于:hash 虽然出现URL中,但不会被包含在HTTP请求

数据归一化的两种常用方法

数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性.原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价.以下是两种常用的归一化方法: 一.min-max标准化(Min-Max Normalization) 也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0 - 1]之间.转换函数如下: 其中max为样本数据的最大

js实现菲波那切数列的两种常用方法

菲波那切数列即:1 1 2 3 5 8......,后面的数字是前面两个数字的和,并且第一个,第二个数字都是1,用js实现 的两种方法,一种通过常用的递归调用,第二种不通过递归,而是通过强大的闭包实现. 1.递归实现 // fab 1 1 2 3 5 8 function fab(num) { if(num==1 || num==2){ return 1; }else{ return fab(num-1)+fab(num-2); } } alert(fab(5)) 2.闭包实现.闭包主要在于:1

Android 高级UI设计笔记23:Android 夜间模式之 两种常用方法(降低屏幕亮度+替换theme)

1. 夜间模式 所谓的夜间模式,就是能够根据不同的设定,呈现不同风格的界面给用户,而且晚上看着不伤眼睛.特别是一些新闻类App实现夜间模式是非常人性化的,增强用户体验. 2. 我根据网上的资料 以及自己代码亲测,总结如下两种方法: (1)降低屏幕亮度 (2)替换theme 3. 夜间模式之 降低屏幕亮度: (1)创建一个Android工程,命名为"夜间模式_利用屏幕亮度(App)",如下: (2)首先我们来到主布局之中,如下: 1 <LinearLayout xmlns:andr

vue自定义组件 (两种之二)弹窗为例

方式: 利用js代码,在必要时候动态弹出组件, 而不需要Vue.use,也必在页面上写组件. 依据: vm.$mount( [elementOrSelector] ) 参数: {Element | string} [elementOrSelector] {boolean} [hydrating] 返回值:vm - 实例自身 用法: 如果 Vue 实例在实例化时没有收到 el 选项,则它处于“未挂载”状态,没有关联的 DOM 元素.可以使用 vm.$mount() 手动地挂载一个未挂载的实例. 如

[Vue]实例化Vue时的两种挂载方式el与$mount

Vue 的$mount()为手动挂载,在项目中可用于延时挂载(例如在挂载之前要进行一些其他操作.判断等),之后要手动挂载上.new Vue时,el和$mount并没有本质上的不同. 1.el Vue实例: new Vue({ el: '#app', data: obj }) 模板: <div id="app"> <p>{{ foo }}</p> <!-- 这里的 `foo` 不会更新! --> <button v-on:click=

Vue框架的两种使用方式

1.使用Vue CLI工具生成脚手架,这是最常见的使用方式,简单用模板生成一个HelloWorld Demo,可以学习Vue的SPA项目结构 2.通过script引入Vue.js,详细如下:这里搭配Mint-ui <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <!-- 引入样式 --> <link rel="stylesheet" href=

vue路由的两种模式,hash与history的区别

1.直观区别: hash模式url带#号,history模式不带#号. 2.深层区别: hash模式url里面永远带着#号,我们在开发当中默认使用这个模式. 如果用户考虑url的规范那么就需要使用history模式,因为history模式没有#号,是个正常的url适合推广宣传 功能也有区别,比如我们在开发app的时候有分享页面,那么这个分享出去的页面就是用vue或是react做的, 咱们把这个页面分享到第三方的app里,有的app里面url是不允许带有#号的,所以要将#号去除那么就要使用hist