热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Vue.js基础详解

vue.jsvue介绍Vue.js(读音vjuː,类似于view)是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,
vue.js

vue介绍

Vue.js(读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与单文件组件和 Vue 生态系统支持的库结合使用时,Vue 也完全能够为复杂的单页应用程序提供驱动。
vue是一款简单的mvvm(model-view-viewmodel)框架。

vue起步

vue的引入与Javascript其他库的引入相同,通过一对闭合的script标签包裹

声明式渲染

vue是一个允许采用简洁的模板语法来声明式的将数据渲染进DOM

{{msg}}


var data={msg:"世界舞王,尼古拉斯-赵四"
}
// model-模型 数据

var box = new Vue({el:"#box",data:data
})
// viewmodel视图模型 用来将数据渲染到模板上
// 用new Vue 创建一个 Vue 对象
// el:接选择器 类选择器,id选择器等都可以

世界舞王,尼古拉斯-赵四

现在我们就运用声明式渲染生成了我们第一个Vue应用。

除了给文本赋值,我们还可以利用Vue绑定DOM元素属性

鼠标悬停几秒钟查看此处动态绑定的提示信息!

var box = new Vue({el:"#box",data: {msg: '页面加载于' + new Date().toLocaleString()}
})

鼠标悬停几秒钟查看此处动态绑定的提示信息!

这里我们遇到点新东西。你看到的 v-bind 属性被称为指令。指令带有前缀 v-,以表示它们是 Vue 提供的特殊属性。可能你已经猜到了,它们会在渲染的 DOM 上应用特殊的响应式行为。简言之,这里该指令的作用是:“将这个元素节点的 title 属性和 Vue 实例的 msg 属性保持一致”。
再次打开浏览器的 Javascript 控制台输入 box.msg = '新消息',就会再一次看到这个绑定了 title 属性的 HTML 已经进行了更新。
Vue更多的学习指令和组件。

条件与循环

Vue控制一个DOM元素的显示和隐藏也很简单,只需运用指令v-if就可以了

显示模式


new Vue({el: '#box',data: {seen: true}
})

显示模式

当我们将data数据里的seen更改为false时,我们会发现元素已经隐藏。

如果们需要将数据渲染到一个项目列表中,那么我们就需要使用到v-for指令

  1. {{ todo.text }}


new Vue({el: '#box',data: {todos: [{ text: '学习 Javascript' },{ text: '学习 Vue' },{ text: '整个牛项目' }]}
})

1.学习 Javascript
2.学习 Vue
3.整个牛项目

在控制台里,输入 box.todos.push({ text: '新项目' }),你会发现列表中添加了一个新项。

处理用户事件

v-on可以绑定一个事件监听器。

{{ message }}


new Vue({el: '#box',data: {message: 'Hello Vue.js!'},methods: {reverseMessage: function () {this.message = this.message.split('').reverse().join('')}
}
})

Image text
v-model可以实现模板和数据之间的双向绑定,我们既可以通过改变数据改变值,还可以通过改变模板内的值改变数据

{{ message }}


new Vue({el: '#box',data: {message: 'Hello Vue!'}
})

Image text

组化应用构建

组件系统是 Vue 的另一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用

首先我们需要注册一个组件

Vue.component('EXPle', {template: '

  • 这是个待办项
  • '
    })

    然后我们需要为组件创建一个模板


    我们可以用上面刚刚学到的v-for来为几个不同的标签防止不同的值
    所以组件我们应当这样

    Vue.component('todo-item', {// todo-item 组件现在接受一个// "prop",类似于一个自定义属性// 这个属性名为 todo。props: ['todo'],template: '

  • {{ todo.text }}
  • '
    })

    我们还要运用v-bind将指令穿如不同的值,所以html应当这样修改


    最后,我们需要为box赋值

    var app7 = new Vue({el: '#box',data: {groceryList: [{ id: 0, text: '世界舞王' },{ id: 1, text: '尼古拉斯' },{ id: 2, text: '赵四' }]}
    })

    1.世界舞王
    2.尼古拉斯
    3.赵四

    Vue 初学就到这里了,相信你已经在脑子里确定了Vue的原理
    model-view-viewmodel的概念也已经非常清楚了,希望你能够在学习Vue的道路上越走越远,最后感谢你的浏览。

    喜欢的点个赞呗!




    推荐阅读
    • 基于 Vue 和 Element UI 实现的简洁登录界面设计
      本文介绍了一种利用 Vue.js 和 Element UI 框架构建的简洁登录界面设计。该设计不仅注重用户体验,还确保了界面的美观性和易用性。通过合理的布局和组件配置,实现了高效、响应式的登录功能,适用于多种前端应用场景。 ... [详细]
    • 本文探讨了使用JavaScript在不同页面间传递参数的技术方法。具体而言,从a.html页面跳转至b.html时,如何携带参数并使b.html替代当前页面显示,而非新开窗口。文中详细介绍了实现这一功能的代码及注释,帮助开发者更好地理解和应用该技术。 ... [详细]
    • 在 Vue 应用开发中,页面状态管理和跨页面数据传递是常见需求。本文将详细介绍 Vue Router 提供的两种有效方式,帮助开发者高效地实现页面间的数据交互与状态同步,同时分享一些最佳实践和注意事项。 ... [详细]
    • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
    • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
    • POJ 2482 星空中的星星:利用线段树与扫描线算法解决
      在《POJ 2482 星空中的星星》问题中,通过运用线段树和扫描线算法,可以高效地解决星星在窗口内的计数问题。该方法不仅能够快速处理大规模数据,还能确保时间复杂度的最优性,适用于各种复杂的星空模拟场景。 ... [详细]
    • 本文将继续探讨 JavaScript 函数式编程的高级技巧及其实际应用。通过一个具体的寻路算法示例,我们将深入分析如何利用函数式编程的思想解决复杂问题。示例中,节点之间的连线代表路径,连线上的数字表示两点间的距离。我们将详细讲解如何通过递归和高阶函数等技术实现高效的寻路算法。 ... [详细]
    • 2018 HDU 多校联合第五场 G题:Glad You Game(线段树优化解法)
      题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6356在《Glad You Game》中,Steve 面临一个复杂的区间操作问题。该题可以通过线段树进行高效优化。具体来说,线段树能够快速处理区间更新和查询操作,从而大大提高了算法的效率。本文详细介绍了线段树的构建和维护方法,并给出了具体的代码实现,帮助读者更好地理解和应用这一数据结构。 ... [详细]
    • 本文全面解析了JavaScript中的DOM操作,并提供了详细的实践指南。DOM节点(Node)通常代表一个标签、文本或HTML属性,每个节点都具有一个nodeType属性,用于标识其类型。文章深入探讨了DOM节点的创建、查询、修改和删除等操作,结合实际案例,帮助读者更好地理解和掌握DOM编程技术。 ... [详细]
    • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
    • Vue应用预渲染技术详解与实践 ... [详细]
    • Vue ElementUI 实现邮箱地址自动补全功能详解 ... [详细]
    • 微信小程序实现类似微博的无限回复功能,内置云开发数据库支持
      本文详细介绍了如何利用微信小程序实现类似于微博的无限回复功能,并充分利用了微信云开发的数据库支持。文中不仅提供了关键代码片段,还包含了完整的页面代码,方便开发者按需使用。此外,HTML页面中包含了一些示例图片,开发者可以根据个人喜好进行替换。文章还将展示详细的数据库结构设计,帮助读者更好地理解和实现这一功能。 ... [详细]
    • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
    • Mr.J 的 jQuery 学习笔记:第三十一讲——深入解析事件操作(on/off)方法
      `on()` 方法用于在选定元素及其子元素上绑定一个或多个事件处理程序。从 jQuery 1.7 版本开始,`on()` 方法取代了 `bind()`、`delegate()` 和 `live()` 方法,成为统一的事件绑定方式。该方法不仅支持直接绑定事件,还支持事件委托,使得事件处理更加灵活和高效。通过 `off()` 方法,可以移除之前使用 `on()` 绑定的事件处理程序,从而实现对事件的动态管理。 ... [详细]
    author-avatar
    Henrycelia
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有