一、v-bind

v-bind动态绑定指令

默认情况下标签自带属性的值是固定的,可以使用v-bind:'需要绑定的值'='表达式'

所谓动态绑定动态的含义是我们不必修改页面template模板的代码,只需在script部分修改全局的data属性的值即可重新渲染页面

如将按钮的title(key)绑定为data里指定的值<input type="button" value="按钮" v-bind:title="mytitle">

     <div>

      <input type="button" value="按钮" v-bind:title="mytitle">

          <input type="button" value="按钮" v-on:click="show">

     </div>

    <script src="../node_modules/vue/dist/vue.js"></script>

    <script type="text/javascript">

    var vm = new Vue({

        el:"#app",

        data:{

            msg:'shanben',

            msg2:'<p>使用v-html转意成html</p>',

            mytitle:'这是个自定义的title'

        },

        methods:{

            show:function(){

                alert('Hello')

            }

        } 

    });

    </script>

</body>

</html>

我们发现:

v-bind:title="mytitle",其中的key取决于该组件中自带的或者封装好的属性,title就是butten组件中自带的一个属性;

而等号=后面的就是我们的data数据了

又如

我们可以控制一个输入框input的是否可输入或者是控制一个button按钮是否可点击,可以使用v-bind:'需要绑定的值'='表达式',(如:  :disabled=“返回boolean的表达式”等)

其中:是v-bind的冒号缩写

二、v-model

v-model是vue.js中内置的双向数据绑定指令,用于表单控件以外的标签是不起作用的(即只对表单控件标签的数据双向绑定有效)。

需要注意的是:

v-bind="要绑定的值,而且完全支持JavaScript"

只是单向绑定(用data去渲染页面)

v-model="要绑定的值,而且完全支持JavaScript"

是双向绑定(data<---------->页面)

三、误区

这里你会问了,那v-model的缩写是什么呢,注意v-model是没有缩写的

至于:model是v-bind:model的缩写,比如:<child :model="msg"></child>这种只是将父组件的真实数据传递到了子组件,并没有实现子组件和父组件数据的双向绑定,子组件child往往是一个带有props属性的封装组件。

而其中的字段model是子组件中定义的一个props属性,你也可以定义modelxxx,这没有具体的含义,有区别的是子组件props属性当中该字段的的类型type。详情见我的另一篇博客vue中的prop组件封装

如果这篇文章帮到了你,请给个好评吧b( ̄▽ ̄)d 

v-bind属性,v-model属性,:model属性的更多相关文章

  1. 【Java EE 学习 69 上】【struts2】【paramsPrepareParamsStack拦截器栈解决model对象和属性赋值冲突问题】

    昨天有同学问我问题,他告诉我他的Action中的一个属性明明提供了get/set方法,但是在方法中却获取不到表单中传递过来的值.代码如下(简化后的代码) public class UserAction ...

  2. iOS开发之遍历Model类的属性并完善使用Runtime给Model类赋值

    在上篇博客<iOS开发之使用Runtime给Model类赋值>中介绍了如何使用运行时在实体类的基类中添加给实体类的属性赋值的方法,这个方法的前提是字典的Key必须和实体类的Property ...

  3. 在Asp.Net MVC中实现RequiredIf标签对Model中的属性进行验证

    在Asp.Net MVC中可以用继承ValidationAttribute的方式,自定制实现RequiredIf标签对Model中的属性进行验证 具体场景为:某一属性是否允许为null的验证,要根据另 ...

  4. mvc中动态给一个Model类的属性设置验证

    原文:mvc中动态给一个Model类的属性设置验证 在mvc中有自带的验证机制,比如如果某个字段的类型是数字或者日期,那么用户在输入汉字或者英文字符时,那么编译器会自动验证并提示用户格式不正确,不过这 ...

  5. CompareValues标签对Model中的属性进行验证

    在Asp.Net MVC中实现CompareValues标签对Model中的属性进行验证   在Asp.Net MVC中可以用继承ValidationAttribute的方式,自定制实现Model两个 ...

  6. 在.Net MVC中自定义ValidationAttribute标签对Model中的属性做验证

    写一个继承与ValidationAttribute类的自定义的验证方法 MVC中传递数据时,大多数都会用Model承载数据,并且在传到控制器后,对Model进行一系列的验证. 我平时经常使用的判断方法 ...

  7. 将DataRow赋值给model中同名属性

    /// <summary> /// 将DataRow赋值给model中同名属性 /// </summary> /// <typeparam name="T&qu ...

  8. WPF:如何高速更新Model中的属性

    原文:[WPF/MVVM] How to deal with fast changing properties In this article, I will describe a problem w ...

  9. 前端1-----CSS颜色属性,字体文本和背景属性,边框属性,margin和padding,盒模型,行内块转换,浮动,三大定位

    前端1-----CSS颜色属性,字体文本和背景属性,边框属性,margin和padding,盒模型,行内块转换,浮动,三大定位 一丶css选择器的优先级 行内 > id选择器 > 类选择器 ...

  10. Django学习路19_is_delete属性,重写类方法,显性隐性属性

    如果在 创建数据表时,使用了 objects = models.Model() 使隐形属性变为了 显性属性 则 必须要自己定义一个 继承了 models.Model 类的类,实现 管理功能 如果一个属 ...

随机推荐

  1. Web核心之Servlet接口

    Servlet(server applet)概念: Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务 ...

  2. Oracle12c RAC数据导出至Oracle11g

    一.Oracle12c导出数据 1.连接数据库 sqlplus / as sysdba 2.查看pdbs show pdbs; 3.切换pdb alter session set container= ...

  3. mui is not defined

    vue项目中引用mui.js,我是在main.js中这样引入的,    结果报错  查找资料,最后在mui.js的最后添加了这样一句  这是因为mui并不能像jquery那样作为全局对象存在,加上wi ...

  4. android智能手机如何查看APK包名

    工具/原料   智能手机一部 USB线一根 方法/步骤   1 首先.使用USB线,将电脑和手机连起来.注意.手机的USB调试默认需要打开,如下图所示. 2 然后启动电脑端的cmd应用,进入dos界面 ...

  5. jmeter+ant+jenkins搭建接口自动化测试环境

    jmeter+ant+jenkins搭建接口自动化测试环境(基于win) 1.jmeter jmeter依赖java运行环境,所以需要提前下载jdk并配置好环境变量 官网下载(http://jmete ...

  6. SGU 194 Reactor Cooling (无源上下界网络流)

    The terrorist group leaded by a well known international terrorist Ben Bladen is buliding a nuclear ...

  7. 【HDOJ6601】Keen On Everything But Triangle(主席树)

    题意:给定一个长为n的序列,有q次询问,每次询问[l,r]这段区间内挑三个数,能组成的三角形的最大周长,无解输出-1 n,q<=1e5,a[i]<=1e9 思路:题解写法和我的不太一样 先 ...

  8. Centos7.4 配置之MySQL 8.0【转】

    首先查看Mysql最新版本, 此时,目前最新版本为8.0. 开始安装前需要一些准备工作. 1,将本地的MariaDB或者已经安装的MySQL其他版本卸载. (一)卸载本地的本地的MariaDB: 由于 ...

  9. Spring-Boot"原生态"的logback

    前言 Logback是由 log4j创始人设计的又一个开源日志组件: logback当前分成三个模块: logback-core logbackclassic logback-access logba ...

  10. vue.js使用echarts一分钟简单入门

    图表的使用在企业级软件中使用越来越普遍,前端开发人员可以使用常用的echarts开源库来进行图表展示的开发,公司最近提出需要丰富系统首页的内容,趁此机会分享一下如何在使用vue.js框架下使用echa ...