声明式渲染
使用简洁的模板语法,将数据与 DOM(文档对象模型)关联起来。通过这种方式,可以实现数据驱动的界面更新,简化开发流程。
示例
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>声明式渲染</title><!-- 引入 Vue 3 CDN --><script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
<!--代码段1--><div id="counter">Counter: {{ counter }}</div><script><!--代码段2-->const CounterApp = {data() {return {counter: 0}},// 代码段3mounted() {setInterval(() => {this.counter++}, 1000)}}Vue.createApp(CounterApp).mount('#counter')</script>
</body>
</html>
- HTML 模板包含一个 div 元素,里面使用了双大括号语法 {{ counter }},这是 Vue.js 的模板语法,用于显示 counter 数据属性的值。
- 定义了一个 Vue 组件 Counter。组件的 data 函数返回一个对象,其中包含一个 counter 属性,初始值为 0。然后,通过 Vue.createApp 创建一个 Vue 应用实例,并将其挂载到 id 为 counter 的 DOM 元素上。数据和 DOM 已经被建立了关联,所有东西都是响应式的。这意味着当 counter 的值发生变化时,DOM 会自动更新,以反映最新的值。
- 我们增加了一个 mounted 生命周期钩子函数。mounted 是 Vue 组件生命周期的一部分,它在组件被挂载到 DOM 后立即执行。在 mounted 函数中,我们使用 setInterval 函数每秒调用一次回调函数,在回调函数中递增 counter 的值。
<div id="bind-attribute">: 定义一个 div 容器,id 为 bind-attribute。
<span v-bind:title="message">: 使用 v-bind 指令将 span 元素的 title 属性绑定到 Vue 实例的数据属性 message 上。
v-bind:title: 绑定 HTML 属性 title。
"message": 绑定到 Vue 实例的 message 数据属性。
- 在页面加载时,Vue.js 将会创建一个新的 Vue 应用实例,并将 AttributeBinding 组件的数据绑定到 DOM 元素上。具体来说,message 数据属性的值 ‘这是动态绑定的提示信息’ 会被绑定到 span 元素的 title 属性上。当你将鼠标悬停在 span 元素上时,会显示动态绑定的提示信息。这展示了 Vue.js 的声明式渲染和响应式数据绑定特性。