vue部分入门知识点代码示例

news/2024/10/22 17:17:08/

1. Vue实例

Vue.js的核心是Vue实例,用来管理你的应用。以下是一个创建Vue实例的示例:

<!DOCTYPE html>
<html>
<head><title>Vue.js入门示例</title><!-- 引入Vue.js库 --><script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head>
<body><div id="app">{{ message }}</div><script>// 创建一个Vue实例var app = new Vue({el: '#app', // 关联实例到id为app的HTML元素data: {message: 'Hello, Vue!'}});</script>
</body>
</html>
  • 上面的示例中,我们引入了Vue.js库,创建了一个Vue实例,并将其关联到一个HTML元素(id为app的<div>)。
  • data属性包含了我们的数据,这里是一个message属性,它在HTML模板中用双花括号语法插入。

2. 数据绑定

Vue.js支持数据绑定,当数据改变时,视图会自动更新。以下是一个简单的示例:

<div id="app"><p>{{ message }}</p><button @click="changeMessage">Change Message</button>
</div><script>var app = new Vue({el: '#app',data: {message: 'Hello, Vue!'},methods: {changeMessage: function() {this.message = 'New Message!';}}});
</script>
  • 在这个示例中,我们在Vue实例中定义了一个方法changeMessage,它会在按钮点击时改变message属性的值。

3. 条件与循环

Vue.js允许你使用指令来处理条件渲染和循环渲染。以下是示例:

<div id="app"><p v-if="showMessage">{{ message }}</p><ul><li v-for="item in items">{{ item }}</li></ul>
</div><script>var app = new Vue({el: '#app',data: {message: 'Hello, Vue!',showMessage: true,items: ['Item 1', 'Item 2', 'Item 3']}});
</script>
  • v-if用于条件渲染,只有当showMessagetrue时,段落才会显示。
  • v-for用于循环渲染,将items数组中的项渲染为列表项。

4. 事件处理

Vue.js允许你轻松地处理用户交互事件。以下是一个事件处理的示例:

<div id="app"><button @click="sayHello">Say Hello</button>
</div><script>var app = new Vue({el: '#app',methods: {sayHello: function() {alert('Hello, Vue!');}}});
</script>
  • 这个示例中,我们使用@click指令来监听按钮点击事件,并调用sayHello方法来弹出一个提示框。

5. 组件

Vue.js允许你创建可复用的组件。以下是一个简单的组件示例:

<div id="app"><my-component></my-component>
</div><script>// 定义一个全局的组件Vue.component('my-component', {template: '<div>This is a custom component</div>'});var app = new Vue({el: '#app'});
</script>
  • 这个示例中,我们定义了一个名为my-component的全局组件,然后在HTML中使用它。

6. 生命周期钩子

Vue.js提供了生命周期钩子函数,允许你在组件的不同生命周期阶段执行代码。以下是一个生命周期钩子的示例:

<div id="app"><p>{{ message }}</p>
</div><script>var app = new Vue({el: '#app',data: {message: 'Hello, Vue!'},beforeCreate: function() {console.log('Before Create Hook');},created: function() {console.log('Created Hook');},mounted: function() {console.log('Mounted Hook');}});
</script>
  • 这个示例中,我们定义了beforeCreatecreatedmounted生命周期钩子函数,并在控制台中打印消息以便观察组件生命周期。

7. 计算属性

Vue.js允许你定义计算属性,这些属性根据其他属性的变化而动态计算。以下是一个计算属性的示例:

<div id="app"><p>{{ fullName }}</p>
</div><script>var app = new Vue({el: '#app',data: {firstName: 'John',lastName: 'Doe'},computed: {fullName: function() {return this.firstName + ' ' + this.lastName;}}});
</script>
  • 在这个示例中,我们定义了一个计算属性fullName,它动态计算出firstNamelastName的合并结果。

8. 条件类与样式绑定

Vue.js允许你通过条件判断动态绑定类和样式。以下是一个条件类和样式绑定的示例:

<div id="app" :class="{ 'active': isActive, 'error': hasError }"><p :style="{ color: textColor, fontSize: textSize + 'px' }">Styled Text</p>
</div><script>var app = new Vue({el: '#app',data: {isActive: true,hasError: false,textColor: 'blue',textSize: 20}});
</script>
  • 在这个示例中,我们使用:class:style指令来动态绑定类和样式,具体取决于数据属性的值。

9. 表单处理

Vue.js使表单处理变得更加简单,可以轻松地实现双向数据绑定。以下是一个简单的表单处理示例:

<div id="app"><input v-model="message" placeholder="Type something"><p>You typed: {{ message }}</p>
</div><script>var app = new Vue({el: '#app',data: {message: ''}});
</script>
  • 这个示例中,我们使用v-model指令在输入框和数据属性message之间建立双向绑定,实现实时更新。

10. Vue Router

Vue Router是Vue.js的官方路由管理器,用于构建单页面应用(SPA)。以下是一个简单的Vue Router示例:

<!-- 引入Vue.js和Vue Router库 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router@3.5.3/dist/vue-router.js"></script><div id="app"><router-link to="/home">Home</router-link><router-link to="/about">About</router-link><router-view></router-view>
</div><script>// 定义组件var HomeComponent = { template: '<div>Home Component</div>' };var AboutComponent = { template: '<div>About Component</div>' };// 创建Vue实例并配置路由var app = new Vue({el: '#app',router: new VueRouter({routes: [{ path: '/home', component: HomeComponent },{ path: '/about', component: AboutComponent }]})});
</script>
  • 这个示例中,我们引入了Vue Router库,定义了两个组件HomeComponentAboutComponent,并配置了路由。

11. 自定义指令

Vue.js允许你创建自定义指令来扩展Vue的功能。以下是一个自定义指令的示例:

<div id="app"><p v-highlight="'yellow'">This text is highlighted</p>
</div><script>// 注册全局自定义指令 v-highlightVue.directive('highlight', {bind(el, binding) {// el是绑定指令的元素// binding.value是指令的参数,在这里是颜色el.style.backgroundColor = binding.value;}});var app = new Vue({el: '#app'});
</script>
  • 这个示例中,我们创建了一个名为v-highlight的自定义指令,用于修改元素的背景颜色。

12. Vuex 状态管理

当应用变得复杂时,状态管理变得关键。Vue.js提供了Vuex库来管理应用的状态。以下是一个简单的Vuex示例:

<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vuex@3.6.2/vuex.js"></script><div id="app"><p>Count: {{ $store.state.count }}</p><button @click="increment">Increment</button>
</div><script>// 创建一个 Vuex storeconst store = new Vuex.Store({state: {count: 0},mutations: {increment(state) {state.count++;}}});var app = new Vue({el: '#app',store,methods: {increment() {this.$store.commit('increment');}}});
</script>
  • 这个示例中,我们创建了一个简单的Vuex store,用于管理一个计数器的状态。

13. 路由守卫

Vue Router提供了路由守卫,允许你在导航到不同路由时执行一些逻辑。以下是一个路由守卫的示例:

<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router@3.5.3/dist/vue-router.js"></script><div id="app"><router-link to="/home">Home</router-link><router-link to="/about">About</router-link><router-view></router-view>
</div><script>var app = new Vue({el: '#app',router: new VueRouter({routes: [{ path: '/home', component: HomeComponent },{ path: '/about', component: AboutComponent }]})});// 全局前置守卫app.$router.beforeEach((to, from, next) => {// 在导航前执行逻辑console.log('Navigating to', to.path);next();});var HomeComponent = { template: '<div>Home Component</div>' };var AboutComponent = { template: '<div>About Component</div>' };
</script>
  • 这个示例中,我们使用了全局前置守卫,在每次导航前打印日志。

http://www.ppmy.cn/news/1145362.html

相关文章

【【萌新的SOC学习之AXI接口简介】】

萌新的SOC学习之AXI接口简介 AXI总线的初步介绍 AXI 总线是 ARM AMBA 一部分 &#xff08;高级可扩展接口&#xff09; AMBA(高级微控制器总线架构&#xff09; &#xff1a;开放的片内互联的总线标准&#xff0c;能再多主机设计中实现多个控制器和外围设备之间的连接和管理。…

本地计算机端口显示CLOSE_WAIT、TIME_WAIT、ESTABLISHED、三种情况的区别

本地计算机端口显示 “CLOSE_WAIT”、“TIME_WAIT” 和 “ESTABLISHED” 表示不同的TCP连接状态&#xff0c;它们之间的区别如下&#xff1a; CLOSE_WAIT&#xff08;关闭等待&#xff09;&#xff1a; 在此状态下&#xff0c;本地计算机已经接收到来自远程计算机的关闭请求&am…

【Android】点击短信链接唤起APP的方案实践

一.概述 在很多业务场景中&#xff0c;需要点击短信链接跳转到App的指定页面。在Android系统中&#xff0c;想要实现这个功能&#xff0c;可以通过DeepLink或AppLink实现。 二.方案 1.DeepLink DeepLink是Android系统最基础、最普遍、最广泛的外部唤起App的方式&#xff0c;不…

17基于matlab卡尔曼滤波的行人跟踪算法,并给出算法估计误差结果,判断算法的跟踪精确性,程序已调通,可直接运行,基于MATLAB平台,可直接拍下。

17基于matlab卡尔曼滤波的行人跟踪算法&#xff0c;并给出算法估计误差结果&#xff0c;判断算法的跟踪精确性&#xff0c;程序已调通&#xff0c;可直接运行&#xff0c;基于MATLAB平台&#xff0c;可直接拍下。 17matlab卡尔曼滤波行人跟踪 (xiaohongshu.com)

虚拟桌宠模拟器:VPet-Simulator,一个开源的桌宠软件, 可以内置到任何WPF应用程序

虚拟桌宠模拟器&#xff1a;VPet-Simulator&#xff0c;一个开源的桌宠软件, 可以内置到任何WPF应用程序 虚拟桌宠模拟器 一个开源的桌宠软件, 可以内置到任何WPF应用程序 获取虚拟桌宠模拟器 OnSteam(免费) 或 通过[Nuget]内置到你的WPF应用程序 1.虚拟桌宠模拟器 详细介绍 …

java项目实现不停服更新的4种方案(InsCode AI 创作助手)

文章目录 1. Blue-Green 部署2. 滚动更新3. 使用负载均衡器4. 灰度发布 在软件开发和维护中&#xff0c;不停机更新是确保应用程序持续可用的关键任务之一。以下是四种常见的不停机更新策略及其示例&#xff1a; 1. Blue-Green 部署 概念&#xff1a; Blue-Green 部署是一种部…

接口(interface)

接口&#xff08;interface&#xff09; 概述 接口就是规范&#xff0c;定义一组规则&#xff0c;体现了现实世界中“如果你是/要…则必须能…”的思想。继承是一个“是不是”的is-a关系&#xff0c;而接口实现则是“能不能”的has-a关系 1.接口的理解&#xff1a;接口的本质…

ts的交叉类型是什么

交叉类型是TypeScript中的一种类型操作符&#xff0c;用于将多个类型合并成一个类型&#xff0c;表示同时拥有这些类型的属性和方法。交叉类型使用&符号进行连接。例如&#xff0c;以下代码定义了一个交叉类型Person & Serializable&#xff1a; interface Person {na…