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
JS 按钮点击触发(兼容IE、火狐)
Aug 07 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
Sep 11 Javascript
JS通过ajax动态读取xml文件内容的方法
Mar 24 Javascript
jQuery Ajax前后端使用JSON进行交互示例
Mar 17 Javascript
jQuery Validate 无法验证 chosen-select元素的解决方法
May 17 jQuery
js+html5实现复制文字按钮
Jul 15 Javascript
Vue监听一个数组id是否与另一个数组id相同的方法
Sep 26 Javascript
vue路由前进后退动画效果的实现代码
Dec 10 Javascript
微信小程序上传多图到服务器并获取返回的路径
May 05 Javascript
jQuery操作动画完整实例分析
Jan 10 jQuery
koa中间件核心(koa-compose)源码解读分析
Jun 15 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
基于qmail的完整WEBMAIL解决方案安装详解
2006/10/09 PHP
关于php正则匹配汉字的方法介绍
2013/04/25 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
php实现的CSS更新类实例
2014/09/22 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
Composer设置忽略版本匹配的方法
2016/04/27 PHP
区分JS中的undefined,null,&quot;&quot;,0和false
2007/03/08 Javascript
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
AngularJS身份验证的方法
2016/02/17 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
BootStrap注意事项小结(五)表单
2017/03/10 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
深入学习js函数的隐式参数 arguments 和 this
2019/06/24 Javascript
layui添加动态菜单与选项卡
2019/07/26 Javascript
js、jquery实现列表模糊搜索功能过程解析
2020/03/27 jQuery
Python中的Matplotlib模块入门教程
2015/04/15 Python
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
Python中防止sql注入的方法详解
2017/02/25 Python
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
python实现可逆简单的加密算法
2019/03/22 Python
CSS3 仿微信聊天小气泡实例代码
2017/04/05 HTML / CSS
html5需遵循的6个设计原则
2016/04/27 HTML / CSS
戴森英国官网:Dyson英国
2019/05/07 全球购物
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
经典c++面试题四
2015/05/14 面试题
个人能力自我鉴赏
2014/01/25 职场文书
家长评语和期望
2014/02/10 职场文书
党员反对四风问题思想汇报
2014/09/12 职场文书
正规借条模板
2015/05/26 职场文书
你为什么是穷人?可能是这5个缺点造成
2019/07/11 职场文书
Android自定义scrollview实现回弹效果
2022/04/01 Java/Android
nginx设置资源请求目录的方式详解
2022/05/30 Servers