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 相关文章推荐
javascript 写类方式之六
Jul 05 Javascript
ExtJS TabPanel beforeremove beforeclose使用说明
Mar 31 Javascript
跟着JQuery API学Jquery 之二 属性
Apr 09 Javascript
20个最新的jQuery插件
Jan 13 Javascript
vue使用watch 观察路由变化,重新获取内容
Mar 08 Javascript
提升页面加载速度的插件InstantClick
Sep 12 Javascript
vue 注册组件的使用详解
May 05 Javascript
Node.js使用cookie保持登录的方法
May 11 Javascript
浅谈webpack SplitChunksPlugin实用指南
Sep 17 Javascript
node.js微信小程序配置消息推送的实现
Feb 13 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
May 14 Javascript
js通过canvas生成图片缩略图
Oct 02 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
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
Thinkphp自定义生成缩略图尺寸的方法
2019/08/05 PHP
基于PHP实现微信小程序客服消息功能
2019/08/12 PHP
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
js星星评分效果
2014/07/24 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
JS JSOP跨域请求实例详解
2016/07/04 Javascript
React中ES5与ES6写法的区别总结
2017/04/21 Javascript
vue router的基本使用和配置教程
2018/11/05 Javascript
了解javascript中变量及函数的提升
2019/05/27 Javascript
layui原生表单验证的实例
2019/09/09 Javascript
[06:06]2018DOTA2亚洲邀请赛主赛事第四日战况回顾 全明星赛欢乐上演
2018/04/07 DOTA
python的Template使用指南
2014/09/11 Python
python生成不重复随机数和对list乱序的解决方法
2018/04/09 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
python误差棒图errorbar()函数实例解析
2020/02/11 Python
django API 中接口的互相调用实例
2020/04/01 Python
利用python生成照片墙的示例代码
2020/04/09 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
python主要用于哪些方向
2020/07/05 Python
详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
2020/08/04 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
详解python3 GUI刷屏器(附源码)
2021/02/18 Python
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
Penhaligon’s英国官网:成立于1870年的英国香水制造商
2021/02/18 全球购物
C#如何进行LDAP用户校验
2012/11/21 面试题
幼儿园运动会入场词
2014/02/10 职场文书
趣味运动会活动方案
2014/02/12 职场文书
电力安全事故反思
2014/04/27 职场文书
初中差生评语
2014/12/29 职场文书
超市员工辞职信范文
2015/05/12 职场文书
餐厅营销的秘密:为什么老顾客会流水?
2019/08/08 职场文书