vue1练习1

---恢复内容开始---

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>vue练习</title>
    
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  </head>
  <body>     



<div id="app">{{content}}</div>

<hr/>

<div id="app1">

  <!--双向绑定-->
  
  <input type="text" v-model="inputValue" />

  <!--绑定事件-->

  <button v-on:click="handleBtnClick">提交</button>

  <ul>
 <!--遍历-->
    <li v-for="item in list">{{item}}</li>
  </ul>

</div>


  </body>
  <script type="text/javascript">
 //如果此处Vue是小写,会报错
   var app = new Vue({

      el:'#app',
      data: {

        content:'hello world'
      }

    })

 //延时两秒之后,文字发生变化
   setTimeout(function(){

   app.$data.content='bye bye'
    

   },2000)


   var app1= new Vue({

    el:'#app1',

    data:{

      list: [],

      inputValue:''
    },

    methods:{
      handleBtnClick:function(){

        this.list.push(this.inputValue)
        this.inputValue=''
      }
    }

   })

  </script>
  </html>

 

---恢复内容结束---

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>vue练习</title>
    
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  </head>
  <body>     



<div id="app">{{content}}</div>

<hr/>

<div id="app1">

  <!--双向绑定-->
  
  <input type="text" v-model="inputValue" />

  <!--绑定事件-->

  <button v-on:click="handleBtnClick">提交</button>

  <ul>
 <!--遍历-->
    <li v-for="item in list">{{item}}</li>
  </ul>

</div>


  </body>
  <script type="text/javascript">
 //如果此处Vue是小写,会报错
   var app = new Vue({

      el:'#app',
      data: {

        content:'hello world'
      }

    })

 //延时两秒之后,文字发生变化
   setTimeout(function(){

   app.$data.content='bye bye'
    

   },2000)


   var app1= new Vue({

    el:'#app1',

    data:{

      list: [],

      inputValue:''
    },

    methods:{
      handleBtnClick:function(){

        this.list.push(this.inputValue)
        this.inputValue=''
      }
    }

   })

  </script>
  </html>

 

<body>

<div id="app">


{{fullName}}


</div>

<script>

//vue生命周期函数,就是Vue实例在某一个时间点会自动执行的函数
    
var vm= new Vue({

    el:'#app',
    data:{

        s1:'DELL',
        s2:'123'

    },
    computed:{

        fullName:{

            get:function(){

                return this.s1 + " " + this.s2
            },

            set:function(value){

                var arr=value.split(" ");

                this.s1=arr[0];
                this.s2=arr[1];
                console.log(value);
            }
        }
    }
    
})


</script>
</body>
<body>

<div id="app">


</div>




<script>

//vue生命周期函数,就是Vue实例在某一个时间点会自动执行的函数
    
var vm= new Vue({

    el:'#app',
    template:"<div>{{test}}</div>",
    data:{

        test:'123456'
    },
    beforeCreate:function(){

        console.log("beforeCreate");
    },
    created:function(){

        console.log("created");
    },
    beforeMount:function(){
         
         console.log(this.$el);
        console.log("beforeMount");
    },
    mounted:function(){
          console.log(this.$el);
        console.log("mounted");
    },
    beforeDestroy:function(){

        console.log("beforeDestroy");
    },
    destroyed:function(){

        console.log("destroyed");
    },
    beforeUpdate:function(){

        console.log("beforeUpdate");
    },
    updated:function(){

        console.log("updated");
    }

    
})


</script>
</body>
 <body> 
  <div id="app">    
<input type="text" v-model="inputvalue">
<button @click="clickbutton">提交</button>
<ul>
  <todo-item v-for="item in list" 
  v-bind:message="item">   
  </todo-item>
</ul>

</div>
  </body>
  <script type="text/javascript">
  //局部组件
  Vue.component('todo-item', { 
     props:['message'],
     template:'<li>{{message}}</li>'
   })

   var app=new Vue({
    el:'#app',
    data:{
      inputvalue:'',
      list:[]
      
    },
    methods:{
      clickbutton:function(){
        this.list.push(this.inputvalue);
        this.inputvalue='';
      }
    }
   })
  </script>

 

<body>

<div id="app">

    <div @click="handleDivClick"
         
          :class="{activated: isactivated}"

    >hello world</div>





</div>


<script>

    
var vm= new Vue({

el:'#app',

data:{

    isactivated:false
},
methods:{
handleDivClick:function(){

    this.isactivated=!this.isactivated;
}

}
})


</script>
</body>

 

<body>

<div id="app">

    <div @click="handleDivClick" 
    :style="[styleObj,{fontSize:'20px'}]"  
    >hello world</div>

</div>


<script>

    
var vm= new Vue({

el:'#app',

data:{

styleObj:{

    color:"green"
}
    
},
methods:{
handleDivClick:function(){

    this.styleObj.color=this.styleObj.color==="green"?"red":"green";
}

}
})


</script>
</body>

 

<body>

<div id="app">

    <div v-if="show==='a' ">this is a </div>
    <div v-else-if="show==='b' ">this is b</div>
    <div v-else>this is others</div>

</div>


<script>

    
var vm= new Vue({

el:'#app',

data:{
    show:"a",

}

})


</script>
</body>


 加上KEY值,确保input框  不被复用

<body>

<div id="app">

    <div v-if="show">
        用户名:<input key="user"/>
    </div>
    <div v-else>
        密码:<input key="password"/>
    </div>

</div>


<script>

    
var vm= new Vue({

el:'#app',

data:{
    show:false,

}

})


</script>
</body>

 

转载于:https://www.cnblogs.com/lxj0205/p/10431321.html

初学Vue的案例练习题可以从以下几个方面进行练习: 1. 组件的基本使用:创建一个Vue组件,在模板中展示一些静态文本或数据,并在组件中定义一些基本的数据和方法。 2. 数据绑定:练习使用v-model指令和数据绑定来实现双向数据绑定,例如创建一个表单,实时显示输入框中的内容。 3. 列表渲染:使用v-for指令来循环渲染一个数组或对象的数据,并在模板中展示列表数据。 4. 条件渲染:使用v-if和v-else指令来根据条件动态地展示或隐藏一些元素。 5. 事件处理:练习使用v-on指令来监听DOM事件,并在事件处理函数中修改数据或执行其他逻辑。 6. 组件通信:练习使用props和emit来实现父子组件之间的数据传递和通信。 7. 生命周期:了解Vue的生命周期钩子函数,练习在创建、更新和销毁组件时执行相应的逻辑。 8. 路由和导航:学习使用Vue Router插件来实现前端路由和导航功能,创建不同路径下的页面。 9. 状态管理:学习使用Vuex插件来实现全局状态管理,练习在不同组件之间共享和修改状态。 以上是初学Vue时可以练习的一些案例题目,你可以根据自己的学习进度和需求选择适合自己的练习项目。如果需要更多详细的案例和代码实例,你可以参考中提供的学习资料和中的项目案例地址。另外,你还可以在Vue官方文档和在线教程中找到更多的实例和练习题目进行学习。希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Vue3+TypeScript从入门到进阶(三)——Vue3基础知识点(上)——附沿途学习案例及项目实战代码](https://blog.csdn.net/wuyxinu/article/details/124639124)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值