愿此后再无WA 2022-06-12 12:52 采纳率: 94.1%
浏览 90
已结题

vue 使用出现如下警告该如何处理?

vue 使用出现如下警告该如何处理?均在data或method中添加变量及方法,还是不行..

img

img

img

img

  • 写回答

4条回答 默认 最新

  • 愿此后再无WA Python领域新星创作者 2022-06-13 01:00
    关注

    register.js代码

    var vm = new Vue({
        el: '#app',
        data: {
            // host,
            error_name: false,
            error_password: false,
            error_check_password: false,
            error_phone: false,
            error_allow: false,
            error_sms_code: false,
    
            username: '',
            password: '',
            password2: '',
            mobile: '',
            sms_code: '',
            allow: false,
    
            sms_code_tip: '获取短信验证码',
            sending_flag: false, // 正在发送短信标志
            error_name_message: '', // 用户名错误提示
            error_phone_message: '', // 手机号错误提示
            error_sms_code_message: '' // 短信验证码错误
        },
         data(){
        return {
          count: 0
        }
      },
        methods: {
            // 检查用户名
            check_username: function (){
                var len = this.username.length;
                if(len<5||len>20) {
                    this.error_name_message = '请输入5-20个字符的用户名';
                    this.error_name = true;
                } else {
                    this.error_name = false;
                }
                // 检查重名
                if (this.error_name == false) {
                    axios.get(this.host + '/usernames/' + this.username + '/count/', {
                            responseType: 'json'
                        })
                        .then(response => {
                            if (response.data.count > 0) {
                                this.error_name_message = '用户名已存在';
                                this.error_name = true;
                            } else {
                                this.error_name = false;
                            }
                        })
                        .catch(error => {
                            console.log(error.response.data);
                        })
                }
            },
            check_pwd: function (){
                var len = this.password.length;
                if(len<8||len>20){
                    this.error_password = true;
                } else {
                    this.error_password = false;
                }
            },
            check_cpwd: function (){
                if(this.password!=this.password2) {
                    this.error_check_password = true;
                } else {
                    this.error_check_password = false;
                }
            },
            // 检查手机号
            check_phone: function (){
                var re = /^1[345789]\d{9}$/;
                if(re.test(this.mobile)) {
                    this.error_phone = false;
                } else {
                    this.error_phone_message = '您输入的手机号格式不正确';
                    this.error_phone = true;
                }
                if (this.error_phone == false) {
                    axios.get(this.host + '/mobiles/'+ this.mobile + '/count/', {
                            responseType: 'json'
                        })
                        .then(response => {
                            if (response.data.count > 0) {
                                this.error_phone_message = '手机号已存在';
                                this.error_phone = true;
                            } else {
                                this.error_phone = false;
                            }
                        })
                        .catch(error => {
                            console.log(error.response.data);
                        })
                }
            },
            check_sms_code: function(){
                if(!this.sms_code){
                    this.error_sms_code = true;
                } else {
                    this.error_sms_code = false;
                }
            },
            check_allow: function(){
                if(!this.allow) {
                    this.error_allow = true;
                } else {
                    this.error_allow = false;
                }
            },
            // 发送手机短信验证码
            send_sms_code: function(){
    
                // 重新发送短信后,隐藏提示信息
                this.error_sms_code = false;
    
                if (this.sending_flag == true) {
                    return;
                }
                this.sending_flag = true;
    
                // 校验参数,保证输入框有数据填写
                this.check_phone();
    
                if (this.error_phone == true) {
                    this.sending_flag = false;
                    return;
                }
    
                // 向后端接口发送请求,让后端发送短信验证码
                axios.get(this.host + '/sms_codes/' + this.mobile + '/', {
                        responseType: 'json'
                    })
                    .then(response => {
                        // 表示后端发送短信成功
                        // 倒计时60秒,60秒后允许用户再次点击发送短信验证码的按钮
                        var num = 60;
                        // 设置一个计时器
                        var t = setInterval(() => {
                            if (num == 1) {
                                // 如果计时器到最后, 清除计时器对象
                                clearInterval(t);
                                // 将点击获取验证码的按钮展示的文本回复成原始文本
                                this.sms_code_tip = '获取短信验证码';
                                // 将点击按钮的onclick事件函数恢复回去
                                this.sending_flag = false;
                            } else {
                                num -= 1;
                                // 展示倒计时信息
                                this.sms_code_tip = num + '秒';
                            }
                        }, 1000, 60)
                    })
                    .catch(error => {
                        if (error.response.status == 400) {
                            // 展示发送短信错误提示
                            this.error_sms_code = true;
                            this.error_sms_code_message = error.response.data.message;
                        } else {
                            console.log(error.response.data);
                        }
                        this.sending_flag = false;
                    })
            },
            // 注册
            on_submit: function(){
                this.check_username();
                this.check_pwd();
                this.check_cpwd();
                this.check_phone();
                this.check_sms_code();
                this.check_allow();
    
    
            }
        }
    });
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    愿此后再无WA 2022-06-13 01:02

    register.html代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <title>美多商城-注册</title>
        <link rel="stylesheet" type="text/css" href="css/reset.css">
        <link rel="stylesheet" type="text/css" href="css/main.css">
        <script type="text/javascript" src="js/vue-2.5.16.js"></script>
        <script type="text/javascript" src="js/axios-0.18.0.min.js"></script>
    <!--    <script type="text/javascript" src="js/hosts.js"></script>-->
    </head>
    <body>
        <div class="register_con">
            <div class="l_con fl">
                <a class="reg_logo"><img src="images/logo.png"></a>
                <div class="reg_slogan">商品美 · 种类多 · 欢迎光临</div>
                <div class="reg_banner"></div>
            </div>
    
            <div class="r_con fr">
                <div class="reg_title clearfix">
                    <h1>用户注册</h1>
                    <a href="/login.html">登录</a>
                </div>
                <div class="reg_form clearfix" id="app" v-cloak>
                    <form @submit.prevent="on_submit">
                    <ul>
                        <li>
                            <label>用户名:</label>
                            <input type="text" v-model="username" @blur="check_username" name="user_name" id="user_name">
                            <span v-show="error_name" class="error_tip">{{error_name_message}}</span>
                        </li>
                        <li>
                            <label>密码:</label>
                            <input type="password" v-model="password" @blur="check_pwd" name="pwd" id="pwd">
                            <span v-show="error_password" class="error_tip">密码最少8位,最长20位</span>
                        </li>
                        <li>
                            <label>确认密码:</label>
                            <input type="password" v-model="password2" @blur="check_cpwd" name="cpwd" id="cpwd">
                            <span v-show="error_check_password" class="error_tip">两次输入的密码不一致</span>
                        </li>
                        <li>
                            <label>手机号:</label>
                            <input type="text" name="phone" v-model="mobile" @blur="check_phone"  id="phone">
                            <span v-show="error_phone" class="error_tip">{{error_phone_message}}</span>
                        </li>
                        <li>
                            <label>短信验证码:</label>
                            <input type="text" v-model="sms_code" @blur="check_sms_code" name="msg_code" id="msg_code" class="msg_input">
                            <a @click="send_sms_code" href="javascript:;" class="get_msg_code">{{sms_code_tip}}</a>
                            <span v-show="error_sms_code" class="error_tip">{{error_sms_code_message}}</span>
                        </li>
                        <li class="agreement">
                            <input type="checkbox" v-model="allow" @change="check_allow" name="allow" id="allow" checked="checked">
                            <label>同意”美多商城用户使用协议“</label>
                            <span v-show="error_allow" class="error_tip2">请勾选同意</span>
                        </li>
                        <li class="reg_sub">
                            <input type="submit" value="注 册" name="">
                        </li>
                    </ul>
                    </form>
                </div>
    
            </div>
    
        </div>
    
        <div class="footer no-mp">
            <div class="foot_link">
                <a href="#">关于我们</a>
                <span>|</span>
                <a href="#">联系我们</a>
                <span>|</span>
                <a href="#">招聘人才</a>
                <span>|</span>
                <a href="#">友情链接</a>
            </div>
            <p>CopyRight © 2016 北京美多商业股份有限公司 All Rights Reserved</p>
            <p>电话:010-****888    京ICP备*******8号</p>
        </div>
        <script type="text/javascript" src="js/register.js"></script>
    </body>
    </html>
    

    回复
    a00r 回复 愿此后再无WA 2022-06-13 01:58

    img


    咋写了两个data?把上面data对象里的属性移到下面data里去

    1
    回复
    愿此后再无WA 回复 a00r 2022-06-13 02:04

    昨晚加的忘记改了,怎么移这样吗?哎我是搞后端的,被vue搞得特难受

    var vm = new Vue({
        el: '#app',
        // data: {
        //
        // },
         data(){
            // host,
            error_name: false,
            error_password: false,
            error_check_password: false,
            error_phone: false,
            error_allow: false,
            error_sms_code: false,
    
            username: '',
            password: '',
            password2: '',
            mobile: '',
            sms_code: '',
            allow: false,
    
            sms_code_tip: '获取短信验证码',
            sending_flag: false, // 正在发送短信标志
            error_name_message: '', // 用户名错误提示
            error_phone_message: '', // 手机号错误提示
            error_sms_code_message: '' // 短信验证码错误
            return {
              count: 0
            }
      },
    

    回复
    展开全部12条评论
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 6月22日
  • 已采纳回答 6月15日
  • 修改了问题 6月12日
  • 创建了问题 6月12日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部