vue,router,axios练习

简介: vue,router,axios练习

1 绑定数据

 <div id="app">

       {{ message }}

   </div>

   <script>

       var app = new Vue({

           el: '#app',

           data: {

               message: 'Hello elite,welcome to vue2!'

           }

       })

   </script>

2 v-if

<div id="app">

       <button  @click="Click()">click me</button>

       <p v-if="clicked">你点击了按钮</p>

       <p v-else="clicked">没点击</p>

   </div>

   <script>

       var app3 = new Vue({

           el: '#app',

           data: {

               clicked: false

           },

           methods: {

               Click(){

                   this.clicked = true

               }

           },

           })

   </script>

3.v-for

<div id="app">

       <ol>

         <li v-for="(todo,index) in todos" :key="index">

           {{ todo.itemn }}

         </li>

       </ol>

     </div>

     <script>

       var app = new Vue({

           el: '#app',

           data: {

               todos: [

               { itemn: '学习js' },

               { itemn: '学习Vue' },

               { itemn: '学习java' },

               { itemn: '学习python' }

               ]

           }

           })

     </script>

4. v-bind

 <div id="app">

       <ol>

         <!--

           现在我们为每个 todo-item 提供 todo 对象

           todo 对象是变量,即其内容可以是动态的。

           我们也需要为每个组件提供一个“key”,稍后再

           作详细解释。

         -->

         <todo-item

           v-for="item in todoList"

           v-bind:todo="item"

           v-bind:key="item.id"

         ></todo-item>

       </ol>

     </div>

   <script>

      Vue.component('todo-item', {

           props: ['todo'],

           template: '<li>{{ todo.language }}</li>'

           })

           var app7 = new Vue({

           el: '#app',

           data: {

               todoList: [

               { id: 0, language: '学习vue' },

               { id: 1, language: '学习java' },

               { id: 2, language: '学习python' }

               ]

           }

})

   </script>

5.component

<div id="app">

       <todo-item></todo-item>

   </div>

   <script>

          // 定义名为 todo-item 的新组件

          Vue.component('todo-item', {

           template: '<li>这是个li component</li>'

       })

        var app = new Vue({

           el: '#app',

           data: {

               todos: [

               { itemn: '学习js' },

               { itemn: '学习Vue' },

               { itemn: '学习java' },

               { itemn: '学习python' }

               ]

           }

           })

   

   </script>

6.v-model

div id="app">

       <p>{{ message }}</p>

       <input v-model="message">

     </div>

     <script>

           var app6 = new Vue({

           el: '#app',

           data: {

               message: ''

           }

           })

     </script>

7.生命周期

<div id="app">

       <p>{{ message }}</p>

     </div>

     <script>

           var app6 = new Vue({

           el: '#app',

           data: {

               message: '李白'

           },

           created() { // 在渲染之前执行

               console.log("created....")

           },

           mounted() { // 在渲染之后执行

               console.log("mounted....")  

           },

           methods: {

               method1(){

                   console.log("1212")

               }

             

           },

           })

     </script>

8.router

<div id="app">

       <h1>Hello App!</h1>

       <p>

           <!-- 使用 router-link 组件来导航. -->

           <!-- 通过传入 `to` 属性指定链接. -->

           <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->

           <router-link to="/">首页</router-link>

           <router-link to="/user">用户管理</router-link>

           <router-link to="/menu">菜单管理</router-link>

       </p>

       <!-- 路由出口 -->

       <!-- 路由匹配到的组件将渲染在这里 -->

       <router-view></router-view>

   </div>

   <script>

       // 1. 定义(路由)组件。

       // 可以从其他文件 import 进来

       const Welcome = { template: '<div>欢迎</div>' }

       const User = { template: '<div>user list</div>' }

       const Menu = { template: '<div>menu list</div>' }

       // 2. 定义路由

       // 每个路由应该映射一个组件。

       const routes = [

           { path: '/', redirect: '/welcome' }, //设置默认指向的路径

           { path: '/welcome', component: Welcome },

           { path: '/user', component: User },

           { path: '/menu', component: Menu }

       ]

       // 3. 创建 router 实例,然后传 `routes` 配置

       const router = new VueRouter({

           routes // (缩写)相当于 routes: routes

       })

       // 4. 创建和挂载根实例。

       // 从而让整个应用都有路由功能

       const app = new Vue({

           el: '#app',

           router

       })

       // 现在,应用已经启动了!

   </script>

9.axios

json数据:

{

 "data":[

   {

      "username":"elite",

      "age":12

   },

   {

       "username":"marry",

       "age":14

   }

 ]

<div id="app">

       <div>axios demo</div>

       <!--循环列表-->

       <table border="1">

           <tr>

               <td>姓名</td>

               <td>年龄</td>

           </tr>

           <tr v-for="(item,index) in userList">

               <td>{{item.username}}</td>

               <td>{{item.age}}</td>

           </td>

       </tr>

   </div>

   <script>

       var app = new Vue({

       el: '#app',

       data: {

           userList: []//数组

       },

       created() {

           this.getUserList()

       },

       methods: {

         

           getUserList(id) {

               debugger;

               //vm = this

               axios.get('data.json')

               .then(response => {

                   console.log(response)

                   this.userList = response.data.data

               })

               .catch(error => {

                   console.log(error)

               })

           }

       }

   })

   </script>

723ce4c399be4b9a8f5703a39816782d.png


相关文章
|
1月前
|
资源调度 JavaScript
|
1月前
|
缓存 JavaScript 搜索推荐
|
24天前
|
资源调度 JavaScript 前端开发
路由管理:Vue Router的使用和配置技巧
【10月更文挑战第21天】路由管理:Vue Router的使用和配置技巧
30 3
|
28天前
|
缓存 JavaScript 搜索推荐
Vue Router 导航钩子的使用场景
【10月更文挑战第13天】
13 1
|
28天前
|
JavaScript 搜索推荐 数据处理
Vue Router 导航钩子
【10月更文挑战第17天】需要注意的是,过度使用导航钩子可能会导致代码复杂度增加,因此需要合理规划和使用。此外,不同的钩子在不同的场景下具有不同的作用,需要深入理解其特点和用法,才能更好地发挥它们的价值。可以在实际项目中结合具体需求,充分利用这些导航钩子来打造更加智能、灵活的路由导航机制。
16 1
|
1月前
|
前端开发 JavaScript 安全
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
89 4
|
2月前
|
JavaScript
vue 中 axios 的安装及使用
本文介绍了在Vue项目中安装和使用axios的方法。首先通过命令`npm install axios --save-dev`安装axios,然后在组件的`created`生命周期钩子中使用`axios.get`异步获取数据,并将获取的数据更新到组件的`data`中。文中提供了完整的示例代码,包括安装命令、验证安装成功的步骤、Vue组件的模板、脚本和样式。
vue 中 axios 的安装及使用
|
1月前
|
JavaScript API 开发工具
vue尚品汇商城项目-day02【11.对axios二次封装+12.接口统一管理】
vue尚品汇商城项目-day02【11.对axios二次封装+12.接口统一管理】
31 0
|
8天前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。