信用中国 网站 建设方案百度退推广费是真的吗
vue是什么?
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。
与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。
另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。
注:如果刚开始学习前端开发,将框架作为你的第一步可能不是最好的主意,请掌握好基础知识再来学习vue会更好
简单创建vue应用
1、声明式渲染
<body><script src="https://cdn.jsdelivr.net/npm/vue@2"></script><div id="app">{{ message }}</div><script>var app = new Vue({el: '#app',data: {message: 'Hello Vue!'}})</script>
</body>
我们已经成功创建了第一个 Vue 应用!看起来这跟渲染一个字符串模板非常类似,但是 Vue 在背后做了大量工作。现在数据和 DOM 已经被建立了关联,所有东西都是响应式的。我们要怎么确认呢?打开你的浏览器的 JavaScript 控制台 (就在这个页面打开),并修改 app.message 的值,你将看到上例相应地更新。
<div id="app-2"><span v-bind:title="message">鼠标悬停几秒钟查看此处动态绑定的提示信息!</span></div><script>var app2 = new Vue({el: '#app-2',data: {message: '页面加载于 ' + new Date().toLocaleString()}})</script>
你看到的 v-bind 被称为指令(attribute )。指令带有前缀 v-,以表示它们是 Vue 提供的特殊 attribute。它们会在渲染的 DOM 上应用特殊的响应式行为。在这里,该指令的意思是:“将这个元素节点的 title attribute 和 Vue 实例的 message property 保持一致”。
如果你再次打开浏览器的 JavaScript 控制台,输入 app2.message = ‘新消息’,就会再一次看到这个绑定了 title attribute 的 HTML 已经进行了更新。
2、条件与循环
<div id="app-3"><p v-if="seen">现在你看到我了</p></div><script>var app3 = new Vue({el: '#app-3',data: {seen: true}})</script>
在控制台输入 app3.seen = false,你会发现之前显示的消息消失了。
这个例子演示了我们不仅可以把数据绑定到 DOM 文本或 attribute,还可以绑定到 DOM 结构。此外,Vue 也提供一个强大的过渡效果系统,可以在 Vue 插入/更新/移除元素时自动应用过渡效果。
v-for 指令可以绑定数组的数据来渲染一个项目列表:
<div id="app-4"><ol><li v-for="todo in todos">{{ todo.text }}</li></ol></div><script>var app4 = new Vue({el: '#app-4',data: {todos: [{text: '学习 JavaScript'}, {text: '学习 Vue'}, {text: '整个牛项目'}]}})</script>
3、处理用户数据
为了让用户和你的应用进行交互,我们可以用 v-on 指令添加一个事件监听器,通过它调用在 Vue 实例中定义的方法:
<div id="app-5"><p>{{ message }}</p><button @click="reverseMessage">反转消息</button></div><script>var app5 = new Vue({el: '#app-5',data: {message: 'Hello Vue.js!'},methods: {reverseMessage: function() {this.message = this.message.split('').reverse().join('')}}})</script>
注意在 reverseMessage 方法中,我们更新了应用的状态,但没有触碰 DOM——所有的 DOM 操作都由 Vue 来处理,你编写的代码只需要关注逻辑层面即可。
Vue 还提供了 v-model 指令,它能轻松实现表单输入和应用状态之间的双向绑定。
<div id="app-6"><p>{{ message }}</p><input v-model="message"></div><script>var app6 = new Vue({el: '#app-6',data: {message: ''}})</script>