VUE的基础1

VUE的初识:

Vue是一种渐进式的JS框架,它只关注view层,可以从底向上逐层应用。它是2013年,在Google工作的尤雨溪,受到Angular的启发,从中提取自己所喜欢的部分,开发出的一款轻量框架。

VUE的文件及作用:
1、main.js是我们的入口文件,主要作用是初始化vue实例,并使用我们需要的插件;
2、App.vue是根组件,所有页面都是在App.vue下面进行切换的,可以理解为所有的组件都是App.vue的子组件,我们可以吧头部课底部及每个页面都出现的内容放在App.vue里面;
3、index.html文件入口;
4、src放置组件和入口文件;
5、node_modules为依赖的模块;
6、config中配置了路径端口值等;
7、build中配置了webpack的基本配置、开发环境配置、生产环境配置等。

Vue模板语法:

双大括号插值:{{}}

<body>
  <div id="app">
    <h2>{{msg}}
  </div>
  <script type="text/javascript" src="./node_modules/vue/dist/vue.js"></script>
  <script type="text/javascript">
  new Vue({
    methods:{},
    el="#app",
    data() {
      return {
	msg:'指令系统'
      }
    }
  })
</body>

Body最外层必须要有唯一 一层标签即root标签,否则报错。
Vue的核心思想是数据驱动视图,使用mvvm设计模式。

mvvm即Model-View-ViewModel,mvvm的设计原理是基于mvc的,所以说mvvm不算是一种创新,而是一种改造,这其中的ViewModel便是一个创新。如下图所示:
在这里插入图片描述

V-xxx的是vue指令,方便页面数据输出:
V-if,如果判断结果为true则将数据渲染在页面中,反之则不渲染

<div v-if="true">显示</div>
<div v-if="false">隐藏</div>

v-show,通过控制dom元素display来显示/隐藏数据(none|block)
v-Model数据双向绑定,只会体现在ui控件中,只能应用于有value属性的。数据先通过v-model渲染到view中,view中的数据改变又会影响data。实现data-view-data的过程。v-model是语法糖,实际上是v-bind:value与v-on:input的体现。
v-text ==》 innerText
v-html ==》 innerHTML
v-on,原生事件名=‘函数名’,简便写法 @

<template>
  <div>
    <button @click="buttonClickHandler">按钮</ button>
  <div>
</template>
<script>
    methods {
  	buttonClickHandler() {
  		alert("点击事件触发");
   	}
   }
</script>

v-bind,绑定标签上的属性(内置属性和自定义属性),简写 :
v-for,可以绑定数组的数据来渲染一个项目列表:

    <div id="app">
      <ol>
       <li v-for="todo in todos">
        {{ array.text }}
       </li>
      </ol>
    </div>
    var app = new Vue({
  	el: '#app',
  	data: {
	    array: [
	      { text: '学习 JavaScript' },
	      { text: '学习 Vue' },
	      { text: '学习微服务' }
	    ]
	}
    })

组件:包含了html,css,js。

App.vue是一个入口组件,一般存放着可复用组件。局部组件:应用于当前组件内部;全局组件:全局共享,所有组件都可以使用。

components:挂载子组件
父组件可以使用 props 把数据传给子组件
子组件可以使用 $emit 触发父组件的自定义事件。子组件在父组件中的使用过程可以简单概括为“声子-挂子-用子”。

Vue的生命周期

   每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据
监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过
程也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码
的机会。 

Vue生命周期分为beforeCreated、created、beforMounted、mounted、beforeUpdate、updated、beforeDestoryed、destoryed。created中的内容在页面初始化时就进行加载;
mounted:是在页面初始化完成后加载,数据和DOM都完成挂载,在上一个周期占位的数据把值给渲染进去。可以在这边请求,不过created请求会更好一些。这个周期适合执行初始化需要操作DOM的方法。
在这里插入图片描述

工作问题总结:

1、vue中data里为什么要return?
因为不使用return包裹的数据会在项目的全局可见,会造成变量污染。
使用return包裹后数据中变量只在当前组件中生效,不会影响其他组件
2、文件引入时,@符号代表什么含义?
代表从src一级目录下查询内容
3、什么是EventBus?
EventBus是事件集,相当于一个公用的箱子,父组件中通过EventBus的 o n 方 法 绑 定 一 个 事 件 , 再 在 子 组 件 中 通 过 on方法绑定一个事件,再在子组件中通过 onemit调用事件。EventBus解决了事件跨组件调用的问题。
4、什么是vm,什么是Vue实例?
vm就是viewModel,相当于一个Vue实例。Vue实例类似创建一个对象,里面包含data(存放Vue的数据,Vue框架会检测data中的数据变化,自动更新到DOM上。
methods:主要存放一些函数方法,通过vm去调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值