一、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. $NOIP2018$ 暴踩全场计划实施方案

    \(NOIP2018\) 暴踩全场计划实施方案 改完题辣!该更博辣!(这么激动干嘛反正又没人看) 我要取一个霸气的名字.于是就这样了.原本打算是暴踩yyb计划实施方案的(来啊互相伤害啊) 信心流选手就 ...

  2. centos6.8安装tomcat多容器的处理办法,及安装zk、dubbo

    系统环境: Linux-centosOS6.8-bit64 JDK1.8 1.Tomcat多容器的处理方案 首先,不论tomcat的版本是否有多个,路径是否相同,肯定的是可以运行多个容器. 处理以下两 ...

  3. hdu 1007 Quoit Design (经典分治 求最近点对)

    Problem Description Have you ever played quoit in a playground? Quoit is a game in which flat rings ...

  4. 【FPGA】 007 --Verilog中 case,casez,casex的区别

    贴一个链接:http://www.cnblogs.com/poiu-elab/archive/2012/11/02/2751323.html Verilog中  case,casez,casex的区别 ...

  5. 获取数组NSArray元素的className

    正确读取NSArray里面元素的Class类型的方法 object_getClass(columnsArray.firstObject) 错误的方法是 [columnsArray.firstObjec ...

  6. 使用ajax前必须了解的知识

    ajax的全称: asynchronous javascript and xml (异步的javascript和xml) ajax不是某种编程语言 是一种在无需重新加载整个页面的情况下能够更新部分网页 ...

  7. C++中若类中没有默认构造函数,如何使用对象数组

    前言: 如果定义一个类,有其默认的构造函数,则使用new动态实例化一个对象数组,不是件难事,如下代码: #include <memory> #include <iostream> ...

  8. python的列表与shell的数组

    python:names=["a","b","c"] shell:names=(a b c)

  9. setTimeout,clearTimeout,setInterval,clearInteral详解

    设置定时器,在一段时间之后执行指定的代码,setTimeout与setInterval的区别在于setTimeout函数指定的代码仅执行一次 方法一: window.setTimeout(" ...

  10. 我的js

    <case value="select"> <div class="form-group item_{$[type]form.name} {$[type ...