vue初体验,组件,组件传值

vue初识

主流的三大框架

  • angular - 谷歌团队 (1.0 2.0 4.0版本) - mvc 双向数据绑定
  • react - facebook 团队 虚拟dom
  • vue - 尤雨溪 - 双向数据绑定+虚拟dom

高效/特点

  1. 运行效率高 ,vue采用虚拟DOM,减少dom操作(运行过程中dom操作及其影响效率) - 虚拟DOM,就是内存总的一个对象,和dom结构相互对应
  2. 将开发者的精力从dom解放出来 , 转移到数据操作上
1.引入vue.js - 核心代码库
 <script src="vue.js"></script>
2.创建vue实例
new Vue({
   
    el:"" /指定要挂载的元素
    data: {
   
    /用于存放数据的状态
    },
    methods:{
   
    //方法
    },
    filters:{
   
    //过滤器
    }
});
 new Vue({
   
        el:"#one",//id。
        el:".two",// class。
        el:"div",// 标签
        el:document.querySelector(".two"),// DOM元素。
        el:"body",  /[Vue warn]: Do not mount Vue to <html> or <body> - mount to normal elements instead.
    })
Alt text

注意: 
1.多关注数据,少关注视图 
2.vue与js不是完全互通的 
3.vue是通过数据进行驱动的

vue初体验

<div id = 'yxm'>
    {
   {
   name}}
    <hr>
    {
   {
   sex}}
</div>
</body>
<script>
new Vue ({
    //实例化一个vue对象
	el:"#yxm", //页面中哪一个元素,以及子元素,需要被vue处理
	data:{
    //数据,只有data中的数据才能插值法(Mastache)进行渲染 - {
   {}} 数据绑定,将data里的数据渲染到页面上
        name:"殷乡梅",
        sex:'woman'
	}
})

在这里插入图片描述

数据类型

<div id="yxm">
    {
   {
   number++}}
    <hr>
    {
   {
   string}}
    <hr>
    {
   {
   bool}}
    <hr>
    {
   {
   arr}}
    <hr>
    {
   {
   obj}}
    <hr>
    {
   {
   null?"真null":"假null"}} //直接打印null和undefined是不显示东西的,不过可以通过三元运算符来查看
    <hr>
    {
   {
   und?"真un":"假un"}}
</div>
</body>
<script>
new Vue({
   
    el:'#yxm',
    data:{
   
        number:1,
        string:'殷乡梅',
        bool:true,
        arr:[1,2,3,4],
        obj:{
   us:123,ps:123},
        null:null, 
        und:undefined  
    }
})

在这里插入图片描述在这里插入图片描述

内置指令 (v-开头)

对HTML元素属性进行的一个拓展,以v-开头

	v-model:用于你的表单元素。可将你的数据进行绑定(双向绑定)
	v-if:值是一个布尔值。如果满足条件则渲染,否则不渲染
	v-else-if:值也是一个布尔。如果满足条件渲染,否则不渲染。需要与v-if结合使用
	v-else:当v-if或v-else-if不满足时,使用。
	v-html:会将元素内的内容用指定的数据全部替换。可以使浏览器识别html元素
	v-text:会将元素内的内容用指定的数据全部替换。数据会做为文档格式来处理。
	v-for: 循环使用
	v-bind:可以将你的元素属性与你的数据状态进行绑定。简写:冒号
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="lib/vue.js"></script>
</head>
<body>
    <div id="my">
        <div v-if="isLogin">请输入登录</div>
        <div v-else>欢迎您的到来</div>
        <input type="text" v-model.number="sex">
        <div v-if="sex===1"></div>
        <div v-else-if="sex===2"></div>
        <div v-else>未知</div>
    </div>
</body>
<script type="text/javascript">
    new Vue({
   
        el:"#my",
        data:{
   
            isLogin:true,
            sex:21,
        },

    })
</script>
</html>

<body>
<div id="myApp">
    <!--数组 
        获取数组里的数据 
        键值对
    -->
    <div v-for="item in arr">{
   {
   item}}</div>
    <div v-for="(value,index) in arr">{
   {
   value}}:{
   {
   index}}</div>
    <!--对象 
         获取对象的属性
         获取对象的属性值
    -->
    <div v-for="item in obj">{
   {
   item}}</div>
    <div v-for="(value,key) in obj">{
   {
   key}}:{
   {
   value}}</div>  
    <!--数字,从1开始-->
    <div v-for="n in num">{
   {
   n}}</div>
    <!--字符串-->
    <div v-for="s in str">{
   {
   s}}</div>
</div>
</body>
<script>
    new Vue({
   
        el:"#myApp"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值