问题描述

今天产品问我一线上bug,怎么radio类型改不了

问题分析

看代码,之前的哥们儿是怎么写的

//页面
<div class="ui-form-box">
<div class="ui-form-checkbox">
<label for="delivery">
<input type="radio" name="delivery" value="true" v-model="delivery">是
</label>
</div>
<div class="ui-form-checkbox">
<label for="delivery">
<input type="radio" name="delivery" value="false" v-model="delivery">否
</label>
</div>
</div> // 获取数据
delivery: me.$data.delivery ? "1" : "0",

bug原因

按道理来说,选中了 否,value 为false, 提交的 delivery 值应该是 "0", 但实际上无论怎么选择,都是 "1"

打印出

typeof me.$data.delivery  // string
所以取到的 me.$data.delivery 实际上是 "false"

问题出在绑定 radio 时候数据绑定的不对

那么改成

 <input type="radio" name="delivery" value=true v-model="delivery">是

去掉 true 的 "" 就对了么,还是不对

应该改成

 <input type="radio" name="delivery" :value=true v-model="delivery">是

或者
<input type="radio" name="delivery" :value="true" v-model="delivery">是

使用 v-bind

加: 代表取的是变量, 是值

不加 :代表取的是字符串

自己测试代码

<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="utf-8">
<script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>
</head>
<body>
<div id="app">
<div>
<label>
<input type="radio" name="delivery" :value="true" v-model="delivery">是
</label>
<label>
<input type="radio" name="delivery" :value="false" v-model="delivery">否
</label>
</div>
<button @click="getDelivery">获取delivery</button>
</div>
<script>
var app = new Vue({
el: '#app',
data: {
delivery: true
},
methods: {
getDelivery: function () {
var a = this.$data.delivery;
console.log("a= ", a ," ,typeof a = ", typeof a);
var b = a ? "1" : "0";
console.log("b", b);
}
}
})
</script>
</body>
</html>

vue获取v-model数据类型boolean改变成string的更多相关文章

  1. JS魔法堂:函数重载 之 获取变量的数据类型

    Brief 有时我们需要根据入参的数据类型来决定调用哪个函数实现,就是说所谓的函数重载(function overloading).因为JS没有内置函数重载的特性,正好给机会我们思考和实现一套这样的机 ...

  2. typeof获取变量的数据类型 javascript

    获取变量的数据类型:typeof <!DOCTYPE html> <html lang="en"> <head> <meta charse ...

  3. Vue获取dom和数据监听

    Vue获取dom对象 在js和jq中我们都能获取dom对象例如 // 获取id=1的div标签 <div id=d1>dom对象</div> // js语法 let ele = ...

  4. java封装数据类型——Boolean

    众所周知,java对常见的原始数据类型都提供了对应的封装类型,增加一些常用的特性(如 计算hash值.比较相等.类型转换等),以扩展他们对数据处理的能力,使得他们更好地适应面向对象编程的各种场景.今天 ...

  5. Java知识日常收集整理001Java获取变量的数据类型的实现方法

    一.具体情况区分 对于简单类型变量,是无法直接获得变量类型的:要想获取,必须自定义函数进行返回. 对于包装类型变量,是可以直接获得的,变量名称.getClass().getName(); 二.代码实现 ...

  6. vue获取下拉框值

    vue获取下拉框的值,用vue-modle,只有点击下拉框的值才会赋值到下拉框中,初始时下拉框没有数据,而改用$event就不会出现这样的问题,下面看代码以及图解: v-model解决方式: < ...

  7. vue获取当前元素

    Html: <li><a href="#" v-on:click="typeStyle">萨克斯萨克<span></s ...

  8. 获取v$latch数据源实验

    实验环境:Oracle Rac 11.2.0.3 首先获取v$latch的定义:通过PL/SQL或者get ddl等常规途径只能获取到v_$latch相关的视图信息.需要通过特殊方法获取v$latch ...

  9. 实现一个函数clone,可以对JS中的5种数据类型(Number、String、Object、Array、Boolean)进行值复制

     实现一个函数clone,可以对JS中的5种数据类型(Number.String.Object.Array.Boolean)进行值复制

随机推荐

  1. android调用第三方库——第一篇 (转载)

    转自:http://blog.csdn.net/jiuyueguang/article/details/9447245 版权声明:本文为博主原创文章,未经博主允许不得转载. 0:前言: 这两天一直在研 ...

  2. Java--------------Mysql中时间按要求查询

    今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...

  3. PJzhang:lijiejie的敏感目录爆破工具BBScan

    猫宁!!! 参考链接: https://www.freebuf.com/sectool/85729.html https://segmentfault.com/a/1190000014539449 这 ...

  4. SpringBoot | 读取配置文件信息

    server.port=8081 #修改端口号 server.servlet.context-path= /SpringBoot #修改URL #自定义配置 tz.name = xiaoming tz ...

  5. Github配置SSH连接

    安装git.exe,打开Git Bash 1.检查是否已经有SSH Key. $cd /.ssh 2.生成一个新的SSH. $ ssh-keygen -t rsa -C "email@git ...

  6. Adding New Machine ZOJ - 3540

    https://vjudge.net/problem/ZOJ-3540 错误记录: 扫描线没有考虑到同一行的要删除在前,加入在后:由于用了特殊的方式所以想当然以为不需要考虑这个问题 #include& ...

  7. js数据类型之判断

    js有几种类型,具体是:字符串(String).数字(Number).布尔(Boolean).数组(Array).对象(Object).空(Null).未定义(Undefined). js提供了typ ...

  8. 分层开发之C#分层

    假如没有用分层开发,仔细分析三人的开发过程,很容易发现其中的问题: >三人排队式的轮番工作,花费的时间是三人工作时间之和. >后面开发的人基本都是要先花费时间熟悉前面人的代码,否则开发难以 ...

  9. abp zero mysql版正式发布

    AbpZero-MySql aspnet-zero-1.12.0的mysql版本来啦.跟mssql版一样的功能,一样的代码. 获取源码

  10. AJPFX分享eclipse自动生成java注释方法

    设置方法介绍:eclipse中:Windows->Preferences->Java->Code Style->Code Template->Comments,然后对应的 ...