Vue中props的使用详解


Posted in Javascript onJune 15, 2018

props属性是父子组件之间的通信桥梁。何为父子组件?从子组件的观点来看,他的上一级实例或组件即为他的父组件。我们知道,处于安全考虑,组件模板里我们无法直接使用父组件的data数据,使用props这个属性可以将父组件的数据传给子组件。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>props的测试</title>
  <script src="../js/vue.js"></script>
</head>
<body>
<div id="props">
  <Child message="父组件的message,我把他的内容重新定义了,但是父组件不会发生改变哦,因为没有绑定,哈哈!!"></Child>
  <hr />
  <input v-model="message"/>
  <Child :message='message'></Child>
</div>
<script>
  Vue.component('Child',{
    props: ['message'],
    template: '<span>{{ message }}</span>'
  });
  var vm = new Vue({
    el: '#props',
    data: {
      message: 'prop的测试'
    }
  });
</script>
</body>
</html>

代码效果图

在子组件中对父组件的数据进行处理。父组件的数据通过props传入子组件以后,在子组件中也可对数据进行相关处理,包括计算属性、data属性等。这样当子组件需要对数据进行处理时,避免了直接在父组件中对数据进行操作,而且由于props数据流单向性,在子组件中更改数据时,不会对父组件的数据产生影响。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>props的测试</title>
  <script src="../js/vue.js"></script>
</head>
<body>
<div id="props">
  <input v-model="message"/>
  <Child :message='message'></Child>
</div>
<script>
  Vue.component('Child',{
    props: ['message','todos'],
    template: '<span>{{ test }}</span>',
    computed: {
      test: function(){
        return this.message.trim().toUpperCase();
      }}
  });
  var vm = new Vue({
    el: '#props',
    data: {
      message: 'prop的测试'
    }
  });
</script>
</body>
</html>

代码效果图

代码效果图

prop的验证

 我们可以为组件的 prop 指定验证规则。如果传入的数据不符合要求,Vue 会发出警告。这对于开发给他人使用的组件非常有用。

要指定验证规则,需要用对象的形式来定义 prop,而不能用字符串数组

Vue.component('example',{
  props: {
    propA: String,
    propB: [Number,String]
}
});

总结

以上所述是小编给大家介绍的Vue中props的使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Js中sort()方法的用法
Nov 04 Javascript
javascript与CSS复习(二)
Jun 29 Javascript
关于锚点跳转及jQuery下相关操作与插件
Oct 01 Javascript
JavaScript判断变量是对象还是数组的方法
Aug 28 Javascript
js实现简洁的TAB滑动门效果代码
Sep 06 Javascript
jQuery文字提示与图片提示效果实现方法
Jul 04 Javascript
jQuery操作iframe中js函数的方法小结
Jul 06 Javascript
js经验分享 JavaScript反调试技巧
Mar 10 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
Nov 22 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
Mar 19 Javascript
Ant Design Pro 下实现文件下载的实现代码
Dec 03 Javascript
vue实现路由懒加载的3种方法示例
Sep 01 Javascript
基于jQuery实现的设置文本区域的光标位置
Jun 15 #jQuery
深入浅析Vue全局组件与局部组件的区别
Jun 15 #Javascript
react-native android状态栏的实现
Jun 15 #Javascript
JS实现监控微信小程序的原理
Jun 15 #Javascript
vue .sync修饰符的使用详解
Jun 15 #Javascript
vue项目webpack中Npm传递参数配置不同域名接口
Jun 15 #Javascript
vue和webpack项目构建过程常用的npm命令详解
Jun 15 #Javascript
You might like
Snoopy类使用小例子
2008/04/15 PHP
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
2011/05/02 PHP
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
PHP APC缓存配置、使用详解
2014/03/06 PHP
yii实现级联下拉菜单的方法
2014/07/31 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
2018/05/10 PHP
PHP通过文件路径获取文件名的实例代码
2018/10/14 PHP
PHP Cli 模式设置进程名称的方法
2019/06/12 PHP
Kibo 用于处理键盘事件的Javascript工具库
2011/10/28 Javascript
使用Jquery来实现可以输入值的下拉选单 雏型
2011/12/06 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
jQuery中on()方法用法实例详解
2015/02/06 Javascript
AngularJS通过$location获取及改变当前页面的URL
2016/09/23 Javascript
图片懒加载插件实例分享(含解析)
2017/01/09 Javascript
jquery实现图片放大点击切换
2017/06/06 jQuery
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
vue 实现在函数中触发路由跳转的示例
2018/09/01 Javascript
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
python下载文件时显示下载进度的方法
2015/04/02 Python
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
Python学习之Django的管理界面代码示例
2018/02/10 Python
Python实现一个服务器监听多个客户端请求
2018/04/12 Python
django 开发忘记密码通过邮箱找回功能示例
2018/04/17 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
2018/09/04 Python
Window 64位下python3.6.2环境搭建图文教程
2018/09/19 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
2019/07/01 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
2019/12/04 Python
python如何提取英语pdf内容并翻译
2020/03/03 Python
如何用python写个模板引擎
2021/01/14 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
canvas学习和滤镜实现代码
2018/08/22 HTML / CSS
新加坡最受追捧的体验平台:Hapz
2018/01/01 全球购物
爱心募捐通知范文
2015/04/27 职场文书
倡议书范文大全
2015/04/28 职场文书
获奖感言范文
2015/07/31 职场文书