Vue--props

组件实例的作用域是孤立的。这意味着不能 (也不应该) 在子组件的模板内直接引用父组件的数据。要让子组件使用父组件的数据,我们需要通过子组件的 props 选项。

字面量语法 vs 动态语法

初学者常犯的一个错误是使用字面量语法传递数值:

因为它是一个字面 prop,它的值是字符串 "1" 而不是 number。如果想传递一个实际的 number,需要使用 v-bind,从而让它的值被当作 JavaScript 表达式计算:

App.vue  (父组件)

<template>

<div>

<h1>我是app组件</h1>

<zujian :color="111"></zujian>

</div>

</template>

<script>

import zujian from ‘./components/zujian.vue‘

export default{

data(){

return{

a:1

}

},

components:{

zujian

}

}

</script>

Zujian.vue(子组件)

<template>

<div>

<h1>我是zujian组件 {{typeof color}}---{{color}}</h1>

</div>

</template>

<script>

export default{

props:["color"],  // 父亲传 谁用谁接受(儿子接受)

data(){

return{

}

}

}

</script>

更多请访问:https://cn.vuejs.org/v2/guide/components.html#Prop

时间: 2024-08-04 07:59:08

Vue--props的相关文章

vue——props的两种常用方法

vue--props的两种常用方法 1.实现父-->子的通信 举例如下: 父组件 parent.vue <children :channel="object1"></children> 子组件 children.vue export default{ name:"children", props:["channel"], data(){ return{ newChannel:null } } methods:{ fu

Vue props 单向数据流

1.props通信 注意:DOM模板的驼峰命名props要转为短横分割命名. <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <title>Vue</title> </head> <body> <div id="app"> <my-component m

vue props传值方法

<template> <div class="hello"> <ul> <li v-for="(item, index) in type" @click="handle($event)" @touchMove='touchMove' >{{item.main}} --{{index}}</li> </ul> <div class="tabc">

Vue props双向绑定

props是不能改变的 项目里遇到一个问题,就是props的组件内是不能改变,就像react中的props值也是不能改变的, 所以我在用的时候竟然忽略了这个点.真的要反省反省, 下面就是这个报错的问题: use a data or computed property based on the prop's value 如何双向绑定 我做的是一个弹框的组件让在父组件调用,关闭和开启 子组件:这样 <section class="app-body" v-if="myShar

vue props 单项数据流

父组件传递动态值showStoreList,子组件通过props接收,但是如果在子组件中直接使用并修改这个值会报错: 因为父级的更新会传递给子组件,但是反过来则不行: 这种情况下,可以使用computed或watch来获取props中的值 原文地址:https://www.cnblogs.com/Shysun/p/12316711.html

vue框架中props的typescript用法

vue框架中props的typescript用法 在vue中使用typescript时,需要引入vue-property-decorator库来兼容格式. javascript写法 Vue.component('blog-post', { // 在 JavaScript 中是 camelCase 的 props: ['postTitle'], template: '<h3>{{ postTitle }}</h3>' }) typescript写法 @Prop({ type: Arr

Vue 组件基础完整示例2

简介此页面可以直接复制运行,包含以下应用: Vue slot插槽使用Vue v-model使用Vue props使用父子组件数据传递element-ui使用HTML方式注册子组件,可以将子组件数据写在一个js文件中,用标签引入,然后将子组件对象置入components中Live Demo 在线示例Live Demo 提示不建议用HTML模式开发项目,建议使用vue-cli3创建项目,使用单文件组件模式开发Vue cli3 代码 <!DOCTYPE html> <html lang=&qu

vue-router传参

本文介绍利用props传参,传参的形式有三种:布尔模式.对象模式.函数模式 <router-link :to="{name:'children',params:{id:msg}}">切换咯</router-link> 布尔模式:将props属性设置成为true,如果 props 被设置为 true,route.params 将会被设置为组件属性. { path: '/index', component:() => import('../src/compon

如何用vue-cli3脚手架搭建一个基于ts的基础脚手架

目录 准备工作 搭建项目 vue 中 ts 语法 项目代理及 webpack 性能优化 其他 忙里偷闲,整理了一下关于如何借助 vue-cli3 搭建 ts + 装饰器 的脚手架,并如何自定义 webpack 配置,优化. 准备工作 @vue/[email protected] vue 2.6 node v12.13.0 安装 node 安装 node 全局安装 nrm,npm 的镜像源管理工具. npm i nrm -g // 安装 nrm ls // 查看可用源,及当前源,带*的是当前使用的

造轮子-toast组件的实现(下)

1.解决 toast 中传入 html 的问题,通过假的 slot 来实现 // plugins.js toast.$slots.default = [message] // toast.vue <div v-html="$slots.default[0]"></div> // 使用 created() { this.$toast('<p>我是<strong>hi</strong></p>',{}) }, 2.在