Vue props 单向数据流的实现


Posted in Javascript onNovember 06, 2018

1、props通信

注意:DOM模板的驼峰命名props要转为短横分割命名。

<!DOCTYPE html>
<html lang="zh">

  <head>
    <meta charset="UTF-8" />
    <title>Vue</title>
  </head>

  <body>
    <div id="app">
      <my-component message='来自父组件的数据' warning-text="提示信息"></my-component>

    </div>
    <script src="https://cdn.bootcss.com/vue/2.5.9/vue.min.js"></script>
    <script type="text/javascript">
      Vue.component('my-component', {
        template: '<div>{{warningText}}:{{message}}</div>',
        props: ['message', 'warningText']
      })
      new Vue({
        el: "#app"
      })
    </script>
  </body>

</html>

传递动态数据(v-bind):

<!DOCTYPE html>
<html lang="zh">

  <head>
    <meta charset="UTF-8" />
    <title>Vue</title>
  </head>

  <body>
    <div id="app">
      <input type="text" v-model="parentMessage" />
      <my-component :message='parentMessage'></my-component>

    </div>
    <script src="https://cdn.bootcss.com/vue/2.5.9/vue.min.js"></script>
    <script type="text/javascript">
      Vue.component('my-component', {
        template: '<div>{{message}}</div>',
        props: ['message']
      })
      new Vue({
        el: "#app",
        data: {
          parentMessage: ''
        }//前端全栈开发交流群:
      })//866109638
    </script>//帮助1-3年工作人员
  </body>//突破技术瓶颈,提升思维能力

</html>

2、单向数据流

(1)子组件保存父组件传递过来的值,在子组件自己的作用域下修改和使用。

<!DOCTYPE html>
<html lang="zh">

  <head>
    <meta charset="UTF-8" />
    <title>Vue</title>
  </head>

  <body>
    <div id="app">

      <my-component :init-count='1'></my-component>

    </div>
    <script src="https://cdn.bootcss.com/vue/2.5.9/vue.min.js"></script>
    <script type="text/javascript">
      Vue.component('my-component', {
        template: '<div>{{initCount}}</div>',
        props: ['initCount'],
        data: function() {
          return this.initCount
        }
      })
      new Vue({
        el: "#app"
      })
    </script>
  </body>

</html>

(2)使用计算属性

<!DOCTYPE html>
<html lang="zh">

  <head>
    <meta charset="UTF-8" />
    <title>Vue</title>
  </head>//前端全栈交流学习圈:
//866109386,帮助1-3年前端人员
  <body>//突破技术瓶颈,提升思维能力
    <div id="app">

      <my-component :width='100'></my-component>

    </div>
    <script src="https://cdn.bootcss.com/vue/2.5.9/vue.min.js"></script>
    <script type="text/javascript">
      Vue.component('my-component', {
        template: '<div :style="style">组件内容</div>',
        props: ['width'],
        computed: {
          style: function() {
            return {
              width: this.width + 'px'
            }
          }
        }
      })
      new Vue({
        el: "#app"
      })
    </script>
  </body>

</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js实现的切换面板实例代码
Jun 17 Javascript
Jquery中$.post和$.ajax的用法小结
Apr 28 Javascript
Javascript编写2048小游戏
Jul 07 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
Dec 17 Javascript
jQuery 生成svg矢量二维码
Aug 09 Javascript
js如何编写简单的ajax方法库
Aug 02 Javascript
对angular 监控数据模型变化的事件方法$watch详解
Oct 09 Javascript
React+Antd+Redux实现待办事件的方法
Mar 14 Javascript
vue-cli3配置与跨域处理方法
Aug 17 Javascript
微信小程序监听用户登录事件的实现方法
Nov 11 Javascript
JavaScript常用工具函数库汇总
Sep 17 Javascript
JavaScript实现切换多张图片
Jan 27 Javascript
给localStorage设置一个过期时间的方法分享
Nov 06 #Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
Nov 06 #Javascript
学习使用ExpressJS 4.0中的新Router的用法
Nov 06 #Javascript
vue项目上传Github预览的实现示例
Nov 06 #Javascript
React Component存在的几种形式详解
Nov 06 #Javascript
支付宝小程序tabbar底部导航
Nov 06 #Javascript
利用JavaScript缓存远程窃取Wi-Fi密码的思路详解
Nov 05 #Javascript
You might like
php实现的遍历文件夹下所有文件,编辑删除
2010/01/05 PHP
PHP session_start()问题解疑(详细介绍)
2013/07/05 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
javascript 有趣而诡异的数组
2009/04/06 Javascript
javascript中验证大写字母、数字和中文
2014/01/15 Javascript
禁止iframe页面的所有js脚本如alert及弹出窗口等
2014/09/03 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
2016/05/05 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
canvas绘图不清晰的解决方案
2017/02/28 Javascript
Bootstrap页面标题Page Header的实现方法
2017/03/22 Javascript
解决Webpack 热部署检测不到文件变化的问题
2018/02/22 Javascript
JS中的回调函数实例浅析
2018/03/21 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
原生js实现无缝轮播图
2020/01/11 Javascript
[59:00]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第一场 3月7日
2021/03/11 DOTA
Python将图片转换为字符画的方法
2020/06/16 Python
Python之list对应元素求和的方法
2018/06/28 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
Python面向对象之类的定义与继承用法示例
2019/01/14 Python
python实现两个文件夹的同步
2019/08/29 Python
python通过实例讲解反射机制
2019/10/17 Python
python爬虫泛滥的解决方法详解
2020/11/25 Python
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
美国知名的在线旅游服务网站:Priceline
2016/07/23 全球购物
早晨薰衣草在线女性精品店:Morning Lavender
2021/01/04 全球购物
优质飞蝇钓和渔具:RiverBum
2020/05/10 全球购物
什么是命名空间(NameSpace)
2015/11/24 面试题
Ejb技术面试题
2015/04/29 面试题
先进事迹报告会感言
2014/01/24 职场文书
幼儿园大班评语大全
2014/04/17 职场文书
2015年乡镇财政工作总结
2015/05/19 职场文书
生产车间管理制度
2015/08/04 职场文书
劳保用品管理制度范本
2015/08/06 职场文书
体育教师研修感悟
2015/11/18 职场文书