vue基础知识简述(v-if&v-for&v-show&v-model)

vue基础知识简述(v-if&v-for&v-show&v-model),第1张

条件渲染主要有两个指令:v-if v-show

   有v-if 相应会有 v-else v-else-if

      v-if指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回truthy值的时候被渲染

v-if为true的表达式会显示

v-if为false的表达式不会显示

示例需要用到的data部分:

利用data变量进行判断使用

类似于if-else条件语句判断

在template上使用 v-if 条件渲染分组

利用上面提供的data变量和下面的template结合,启动网页后查看源码可知

v-show与v-if区别:

  v-show 只是简单的切换元素的display CSS propertity,带有 v-show 元素始终会被渲染并保存在 dom 中

    v-if:后面若为false,标签直接消失,控制dom元素的创建和销毁

      v-if是一个编译、卸载的过程,创建和销毁子组件

          v-show是控制css property

v-for用于循环遍历数据

 示例需要用到的data部分:

用v-for把一个数组映射为一组元素

  v-for基于一个数组来渲染一个列表

   v-for使用数组,item代表数组中每个元素,index表示数组元素下标

两种分隔符:in of

  item标识键值,key表示键名,index表示索引

注意观察上面循环标签的最后都有 :key

 为什么要添加key

  key作为唯一标识

   为了给vue一个提示,以便它能跟踪每一个节点的身份,重而重用和重新排序现有元素

官方解释:

你可以用v-model 指令在表单<input> 、 <textarea>及<select>元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但v-model本质上不过是语法糖。它负责监听用户的输入事件来更新数据,并在某种极端场景下进行一些特殊处理。

v-model会 忽略所有表单元素的value 、checked 、 selected attribute 的初始值。 它将始终将当前活动实例的数据作为数据来源。你应该通过JavaScript在组件的 data选项中声明初始值。

v-bind (:value="msg")负责将data变量显示页面input框

v-on (@input="changeValue) 负责利用函数中事件对象获取页面input框的值传data变量使其发生改变

缺陷:v-model数据中每一次改变都会触发试图更新,特别消耗性能

因此官方为v-model设定了一些修饰符

lazy ,当输入框失去焦点,再去同步输入框中的数据

trim:自动过滤用户输入的首尾空白字符

如果想自动将用户的输入值转为数值类型,可以给v-model添加number修饰符

问题分析:

在Vue中,想对input的值进行绑定,需要使用v-model指令。

举例如下:

HTML代码:

<div id="app">

    <input type="text" v-model="val">

</div>

JavaScript(Vue)代码:

var vm = new Vue({

    el: '#app',

    data: {

        val: '我是初始化值'

    }

});

初始化运行结果:

在控制台中执行 vmval="我是被修改的值"; 后的运行结果:

你可以在js代码的任意位置使用vmval = 'xxxx';来变更已绑定的input的值。

主要的原因是vue相当于套了一层,界面上的输入框会关联model,提交表单的时候,他是直接提交model的值,而不是传统的输入框里面的值。

所以用这种:

此时界面上已经有值了,可能数据点下输入框,数据消失,也可能不消失。

提交按钮按下后,要不就是前端提示没值,要不就是后端提示送来的值为空。

这里就是因为那个model的问题。

只需要把事件关联上就可以了:

这样前端就不会提示没数据,后端也能拿到数据了。

一般我是在data里建一个对象 form:{name:'',age:'',score:''}

然后每个input绑定的是model="formname",

另一个input的绑定的是model="formage"

thisform就是所有的input绑定的值都在里面,这样你也得到了全部的值呢

以上就是关于vue基础知识简述(v-if&v-for&v-show&v-model)全部的内容,包括:vue基础知识简述(v-if&v-for&v-show&v-model)、vue语法获取里面的input标签吗、vueinput设置value等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9612933.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存