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 相关文章推荐
JQuery判断子iframe何时加载完成解决方案
Aug 20 Javascript
js禁止页面复制功能禁用页面右键菜单示例代码
Aug 29 Javascript
js中document.write使用过程中的一点疑问解答
Mar 20 Javascript
jquery实现动态操作select选中
Feb 11 Javascript
JavaScript实现页面5秒后自动跳转的方法
Apr 16 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
Aug 17 Javascript
JS简单实现多级Select联动菜单效果代码
Sep 06 Javascript
js实现短信发送倒计时功能(正则验证)
Feb 10 Javascript
基于JavaScript实现简单的音频播放功能
Jan 07 Javascript
vue生命周期和react生命周期对比【推荐】
Sep 19 Javascript
Vuex,iView UI面包屑导航使用扩展详解
Nov 04 Javascript
vue完美实现el-table列宽自适应
May 08 Vue.js
给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读取flv文件的播放时间长度
2009/09/03 PHP
Apache 配置详解(最好的APACHE配置教程)
2010/07/04 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
PHP清除字符串中所有无用标签的方法
2014/12/01 PHP
laravel 错误处理,接口错误返回json代码
2019/10/25 PHP
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
基于 Docker 开发 NodeJS 应用
2014/07/30 NodeJs
jQuery中attr()方法用法实例
2015/01/05 Javascript
JS截取与分割字符串常用技巧总结
2015/11/10 Javascript
JavaScript中的事件委托及好处
2016/07/12 Javascript
Javascript下拉刷新的简单实现
2017/02/14 Javascript
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
浅谈Vuejs Prop基本用法
2017/08/17 Javascript
微信小程序下拉刷新界面的实现
2017/09/28 Javascript
jQuery.Sumoselect插件实现下拉复选框效果
2017/11/09 jQuery
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
angular 未登录状态拦截路由跳转的方法
2018/10/09 Javascript
在vue中使用防抖函数组件操作
2020/07/26 Javascript
微信小程序自定义支持图片的弹窗
2020/12/21 Javascript
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
[03:17]史诗级大片应援2018DOTA2国际邀请赛 致敬每一位坚守遗迹的勇士
2018/07/20 DOTA
python单链表实现代码实例
2013/11/21 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
python实现从wind导入数据
2019/12/03 Python
最小二乘法及其python实现详解
2020/02/24 Python
Python应用实现双指数函数及拟合代码实例
2020/06/19 Python
利用python 下载bilibili视频
2020/11/13 Python
使用css3实现超炫的loading加载动画效果
2014/05/07 HTML / CSS
html5中canvas学习笔记2-判断浏览器是否支持canvas
2013/01/06 HTML / CSS
深入解析HTML5中的Blob对象的使用
2015/09/08 HTML / CSS
html5 初试 indexedDB(推荐)
2016/07/21 HTML / CSS
PPP协议组成及简述协议协商的基本过程
2015/05/28 面试题
部门年终奖分配方案
2014/05/07 职场文书
村道德模范事迹材料
2014/08/28 职场文书
2015毕业生简历自我评价
2015/03/02 职场文书
JavaScript获取URL参数的方法分享
2022/04/07 Javascript