vue.js渐进式框架使用详解

这次给大家带来vue.js渐进式框架使用详解,vue.js渐进式框架使用详解的注意事项有哪些,下面就是实战案例,一起来看一下。

Vue.js是一套构建用户界面(user interface)的渐进式框架。与其他重量级框架不同的是,Vue 从根本上采用最小成本、渐进增量(incrementally adoptable)的设计。Vue 的核心库只专注于视图层,并且很容易与其他第三方库或现有项目集成。另一方面,当与单文件组件和 Vue 生态系统支持的库结合使用时,Vue 也完全能够为复杂的单页应用程序提供有力驱动。

Vue.js目前已经更新到2.x,功能和语法上有一定升级和修改,本文首先介绍基础内容。

1、新手指南

  vue的使用非常简单,下载vue.js或vue.min.js直接导入即可使用。

  2、vue初步入门

2.1声明式渲染

  Vue.js 的核心是,可以采用简洁的模板语法来声明式的将数据渲染为 DOM:

{{ message }}

var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' }})

登录后复制

  这样就会输入:Hello Vue!

  我们已经生成了第一个 Vue 应用程序!这看起来和渲染一个字符串模板非常类似,但是 Vue 在背后做了大量工作。现在数据和 DOM 已经被关联在一起,所有的数据和 DOM 都是响应式的。我们如何对这一切清晰领会?只需打开你的浏览器的 JavaScript 控制台(现在,就在当前页面打开),然后设置 app.message 的值,你将看到上面的示例所渲染的 DOM 元素会相应地更新。

  除了文本插值(text interpolation),我们还可以采用这样的方式绑定 DOM 元素属性:

鼠标悬停此处几秒, 可以看到此处动态绑定的 title!

var app2 = new Vue({ el: '#app-2', data: { message: '页面加载于 ' + new Date().toLocaleString() }})

登录后复制

  鼠标悬停几秒后,就可以看到动态的提示。

  这里我们遇到一些新内容。你看到的 v-bind 属性被称为指令。指令带有前缀 v-,表示是由 Vue 提供的专用属性。可能你已经猜到了,它们会在渲染的 DOM 上产生专门的响应式行为。简而言之,这里该指令的作用就是:“将此元素的title 属性与 Vue 实例的 message 属性保持关联更新”。

  如果你再次打开浏览器的 JavaScript 控制台,并输入 app2.message = ‘一些新的 message’,就会再次看到,绑定了title 属性的 HTML 已经进行了更新。

2.1条件与循环

 控制切换一个元素的显示也相当简单:

现在你可以看到我

var app3 = new Vue({ el: '#app-3', data: { seen: true }})

登录后复制

  继续在控制台输入 app3.seen = false,你应该会看到 span 消失。

  这个示例表明,我们不只是可以将数据绑定到文本和属性,也可以将数据绑定到 DOM 结构。而且,Vue 也提供一个强大的过渡效果系统,可以在 Vue 插入/更新/删除元素时,自动使用过渡效果。

  还有其它一些指令,每个都具有各自不同的特殊功能。例如,v-for 指令,可以使用数组中的数据来展示一个项目列表:

  1. {{ todo.text }}

var app4 = new Vue({ el: '#app-4', data: { todos: [ { text: '学习 JavaScript' }, { text: '学习 Vue' }, { text: '创建激动人心的代码' } ] }})

登录后复制

3 、vue实例

  每个 Vue 应用程序都是通过 Vue 函数创建出一个新的 Vue 实例开始的:

var vm = new Vue({ // 选项})

登录后复制

  尽管没有完全遵循 MVVM 模式,但是 Vue 的设计仍然受到了它的启发。作为约定,通常我们使用变量 vm (ViewModel 的简称) 来表示 Vue 实例。

3.1data 和 methods

  在创建 Vue 实例时,会将所有在 data 对象中找到的属性,都添加到 Vue 的响应式系统中。每当这些属性的值发生变化时,视图都会“及时响应”,并更新相应的新值。

// data 对象var data = { a: 1 }// 此对象将会添加到 Vue 实例上var vm = new Vue({ data: data})// 这里引用了同一个对象!vm.a === data.a // => true// 设置实例上的属性,// 也会影响原始数据vm.a = 2data.a // => 2// ... 反之亦然data.a = 3vm.a // => 3

登录后复制

  每当 data 对象发生变化,都会触发视图重新渲染。值得注意的是,如果实例已经创建,那么只有那些 data 中的原本就已经存在的属性,才是响应式的。也就是说,如果在实例创建之后,添加一个新的属性,例如:

vm.b = 'hi'

登录后复制

  然后,修改 b 不会触发任何视图更新。如果你已经提前知道,之后将会用到一个开始是空的或不存在的属性,你就需要预先设置一些初始值。例如:

data: { newTodoText: '', visitCount: 0, hideCompletedTodos: false, todos: [], error: null}

登录后复制

  除了 data 属性, Vue 实例还暴露了一些有用的实例属性和方法。这些属性与方法都具有前缀 $,以便与用户定义(user-defined)的属性有所区分。例如:

var data = { a: 1 }var vm = new Vue({ el: '#example', data: data})vm.$data === data // => truevm.$el === document.getElementById('example') // => true// $watch 是一个实例方法vm.$watch('a', function (newValue, oldValue) { // 此回调函数将在 `vm.a` 改变后调用})

登录后复制

3.2vue实例的声明周期

  vue实例的声明周期是一个很重要的概念,理解之后可以通过它实现很多功能。

  看下这段代码。

         

我的声明周期,大家看吧!

//以下代码时显示vm整个生命周期的流程 var vm = new Vue({ el: "#container", data: { test : 'hello world' }, beforeCreate: function(){ console.log(this); showData('创建vue实例前',this); }, created: function(){ showData('创建vue实例后',this); }, beforeMount:function(){ showData('挂载到dom前',this); }, mounted: function(){ showData('挂载到dom后',this); }, beforeUpdate:function(){ showData('数据变化更新前',this); }, updated:function(){ showData('数据变化更新后',this); }, beforeDestroy:function(){ vm.test ="3333"; showData('vue实例销毁前',this); }, destroyed:function(){ showData('vue实例销毁后',this); } }); function realDom(){ console.log('真实dom结构:' + document.getElementById('container').innerHTML); } function showData(process,obj){ console.log(process); console.log('data 数据:' + obj.test) console.log('挂载的对象:') console.log(obj.$el) realDom(); console.log('------------------') console.log('------------------') }

登录后复制

  通过控制台的打印效果可以看出来,实例化 vue 对象大致分为 创建vue实例、挂载到dom、数据变化更新、vue实例销毁 4个阶段,,注意每个阶段都有对应的钩子,我们可以通过对这些钩子进行操作,达成一些功能。虽然初学者用不太上,但是提前了解一下还是好的,到时候碰到实际功能要能想得到生命周期的钩子。         

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

ajax与jsonp的使用详解

Vue 2.0内部指令

立即学习“前端免费学习笔记(深入)”;

前端开发中的多列布局实现方法

以上就是vue.js渐进式框架使用详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2771360.html

(0)
上一篇 2025年3月8日 12:54:57
下一篇 2025年2月24日 14:04:45

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JS使用indexOf()方法实现数组去重

    这次给大家带来js使用indexof()方法实现数组去重,js使用indexof()方法实现数组去重的注意事项有哪些,下面就是实战案例,一起来看一下。 var arr = [‘abc’,’abcd’,’sss’,’2′,’d’,’t’,’2…

    编程技术 2025年3月8日
    200
  • 使用JS实现表单验证(附代码)

    这次给大家带来使用JS实现表单验证(附代码),使用JS实现表单验证的注意事项有哪些,下面就是实战案例,一起来看一下。 表单验证 function checkusername() { var myform = document.getElem…

    编程技术 2025年3月8日
    200
  • 用JS的定时器实现进度条

    这次给大家带来用JS的定时器实现进度条,用JS的定时器实现进度条的注意事项有哪些,下面就是实战案例,一起来看一下。 Javascript 中的定时器 window度一线下面的方法 window.setInterval() 启动定时器 1.s…

    编程技术 2025年3月8日
    200
  • JS上传文件时显示进度条

    这次给大家带来js上传文件时显示进度条,js上传文件时显示进度条的注意事项有哪些,下面就是实战案例,一起来看一下。 在php.ini修改需要的大小: upload_max_filesize = 8M    post_max_size = 1…

    编程技术 2025年3月8日
    200
  • JS实现去重的随机数生成

    这次给大家带来JS实现去重的随机数生成,JS实现去重随机数生成的注意事项有哪些,下面就是实战案例,一起来看一下。 1.实验前准备: Math函数的理解 数组方法的理解 2.实验操作: 随机数生成 body{font-size: 20px;}…

    编程技术 2025年3月8日
    200
  • 用AngualrJs使用定时器

    这次给大家带来用AngualrJs使用定时器,用AngualrJs使用定时器的注意事项有哪些,下面就是实战案例,一起来看一下。 angualrJs清除定时器爬坑之路: 今天发现一个奇怪问题,放在自定义指令里边的定时器竟然在页面跳转之后,在另…

    编程技术 2025年3月8日
    200
  • ReactJS操作表单选择

    这次给大家带来ReactJS操作表单选择,ReactJS操作表单选择的注意事项有哪些,下面就是实战案例,一起来看一下。 需求是对列表实现单选,反选和多选,全部清除的操作 …… this.state = { //初始化空数组,表示已经…

    编程技术 2025年3月8日
    200
  • js实现简易24小时时钟

    这次给大家带来js实现简易24小时时钟,js实现简易24小时时钟的注意事项有哪些,下面就是实战案例,一起来看一下。 js代码 var canvas = document.getElementById(“clock”);var clock =…

    编程技术 2025年3月8日
    200
  • JS自定义状态栏动画文字

    这次给大家带来JS自定义状态栏动画文字,JS自定义状态栏动画文字的注意事项有哪些,下面就是实战案例,一起来看一下。 在IE浏览器中打开,显示动态文字的效果,主要浏览器左下角的文字。 var statusText=”自定义动画状态栏文字”; …

    编程技术 2025年3月8日
    200
  • AngularJS数据源怎样循环输出

    这次给大家带来AngularJS数据源怎样循环输出,AngularJS数据源循环输出的注意事项有哪些,下面就是实战案例,一起来看一下。 AngularJS 中的数据源的循环输出 最近也是刚刚接触angular前端框架的,但使用的几天就感觉效…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论