一、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. UVa1636 Headshot 【迁移自洛谷博客】

    说明:小蒟蒻hkk现在正在做一些概率的题目,由于这方面和数学还有点关系,所以需要一些数学的思维,也需要表述出来,如夏军所述"把自己给讲懂",所以写了些blog,主要为帮助自己理解. ...

  2. python模块之jinja2 ,shutil

    一 jinja2 用来给python提供html语法的模块 安装 pip install jinja2 使用 from jinja2 import Template def html_output(p ...

  3. node-解压版 安装配置测试

    一.下载node压缩包   地址:https://nodejs.org/en/download/ 二.解压下载的压缩包,在文件根目录新增两个文件夹: node_cache:缓存文件位置 node_gl ...

  4. mybatis框架之装饰模式

    学习开源框架源码,除了储备点知识以便于与面试官互相忽略之外,我想最重要的还是去学习大神如何写代码,如何做到职责单一,如何做到可扩展等... 本篇,试着总结一下mybatis在缓存模块使用到的装饰模式. ...

  5. springMVC使用map接收入参 + mybatis使用map 传入查询参数

    测试例子: controllel层 ,使用map接收请求参数,通过Debug可以看到,请求中的参数的值都是字符串形式,如果将这个接收参数的map直接传入service,mybatis接收参数时会报错, ...

  6. oracle中日期转换

    oracle中,日期转换函数有很多,常用命令如下: to_char()命令将时间戳转换为用户规定的日期格式,如: SELECT TO_CHAR(sysdate,'YYYY-MM-DD hh24:mi: ...

  7. 【Flutter学习】基本组件之弹窗和提示(SnackBar、BottomSheet、Dialog)

    一,概述 Flutter中的操作提示主要有这么几种 SnackBar.BottomSheet.Dialog,因为 Dialog样式比较多,放最后讲好了 二,介绍 SnackBar SnackBar的源 ...

  8. sql优化工具SQLAdvisor的安装

    原文地址:https://www.cnblogs.com/beliveli/articles/6541936.html 本机安装包路径: D:\share\src\linux-mysql\sqlAdv ...

  9. [CSP-S模拟测试76]题解

    咕咕咕 A.序列 无解情况:$n>a*b$或$n<a+b-1$ 把序列分成B段,每段内部上升,各段分界处构成下降子序列. 实现并不是太简单,要动态地考虑一下边界什么的. #include& ...

  10. 几乎相同的 deal.jsp 代码(index.jsp不变),在IDEA相同项目运行,结果却不一样,实在想不出来

    目录 主要问题 主要项目 index.jsp: deal.jsp(正确可运行): deal.jsp(错误不可运行): 错误的代码运行图片: 可运行的代码运行图片 主要问题 几乎相同的 deal.jsp ...