Nima Aram
4 سال پیش توسط Nima Aram مطرح شد
5 پاسخ

تغییر دیتای vuejs بدون رفرش

من یه دیتا دارم که میگم بعد از 4 ثانیه متغیرش عوض میشه ، اما تو صفحه بعد از 4 ثانیه تغییر نمیکنه، چطوری میتونم بگم اون متغیر در صفحه بدون رفرش نشون داده بشه و عوض بشه؟
کد های من:


new Vue({
    el:"#app",
    data:{
        x : 0,
        y : 0,
        PhoneStep : 0,
    },
    computed : {
        PhoneStyle : function(){
            if(this.PhoneStep == 1){
                return 'Main';
            }else{
                if(setTimeout(function(){},4000)){
                    return 'Main';
                }
                return 'Loading';

            }
        },

    },

});

ثبت پرسش جدید
میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 4 سال پیش آپدیت شد
0

این کدی که نوشتم، دقیقا چیزی رو که شما می خواید رو فراهم میکنه:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>vuejs</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <p>phoneStep: {{phoneStep}}</p>
    </div>    

    <script>
        let vm = new Vue({
            el: '#app',
            data: {
                x: 0,
                y: 0,
                phoneStep : 0,
            },
            watch: {
                phoneStep: function() {
                    console.log(this.phoneStep);
                }
            },
        });

        setTimeout(() => {
            vm.$data.phoneStep++;
        }, 4000);
    </script>
</body>
</html>

میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 4 سال پیش مطرح شد
0

دوستان دیگر رو نمی دونم، ولی من متوجه منظورتون نشدم.


Nima Aram
تخصص : a simple full stack
@aramnima50 4 سال پیش مطرح شد
0

یعنی مثلا ما یه متغییری داریم که مقدارش صفره ، بعد از 4 ثانیه یکی بهش اضافه میشه ولی بعد 4 ثانیه بجای اینکه 1 رو نشون بده ، 0 هنوز هست


coarad supp
تخصص : برنامه نویس لاراول
@coaradsupp 4 سال پیش مطرح شد
0

این کدی که نوشتین فک نمیکنم درست باشه، میتونید از interval کمک بگیرین، این فک کنم بتونه ایده خوبی بتون بده

https://stackoverflow.com/questions/47944557/using-vue-to-count-up-by-seconds


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 4 سال پیش آپدیت شد
0

این کدی که نوشتم، دقیقا چیزی رو که شما می خواید رو فراهم میکنه:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>vuejs</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <p>phoneStep: {{phoneStep}}</p>
    </div>    

    <script>
        let vm = new Vue({
            el: '#app',
            data: {
                x: 0,
                y: 0,
                phoneStep : 0,
            },
            watch: {
                phoneStep: function() {
                    console.log(this.phoneStep);
                }
            },
        });

        setTimeout(() => {
            vm.$data.phoneStep++;
        }, 4000);
    </script>
</body>
</html>

اشکان نظری
تخصص : برنامه نویس
@ashkannazari248 4 سال پیش مطرح شد
0
mounted() {
            setTimeout(() => {
                this.PhoneStep = this.PhoneStep === 0 ? 1 : 0;
            }, 4000)

        },
computed: {
            PhoneStyle() {
                if (this.PhoneStep)
                    return 'Main';
                else
                    return 'Loading';
            }
}

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام