前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue-cli脚手架使用

vue-cli脚手架使用

作者头像
余生
发布2018-10-15 15:38:34
8260
发布2018-10-15 15:38:34
举报
文章被收录于专栏:余生开发

new Vue({

        el:'#app',//要控制的容器

        template:'',//组件调用标签

        components:{App}//注册的组件 名称来自import引入时的名字

})

组件嵌套方式

1,全局注册

        (1).在main.js中import引入

        (2).在new Vue 的上方

                Vue.component("组件的name",引入时定义的名字);

        (3).在需要的位置用组件中name的名字做标签使用

2,局部注册

        (1).在需要的父级组件的script内export外,import引入

        (2).在其export的components对象中添加注册,名字是引入时定义的名字

        (3).在需要的位置用组件中name的名字做标签使用

组件的style上加scoped表示样式作用域

传值:string number boolean        传值仅仅会在单一操作的组件上发生变化

引用:array object                            传引用会导致全部的数据变化

父子属性传值:

父向子传值:

1.在子组件的标签上v-bind:自定义属性名=“传值名”,

2.在子组件内sxport中props:[“自定义属性名”]

props应写成标准写法:

props:{

自定义属性名:{

type: Array,//数据类型

required:true, //

}

}

事件传值(子向父传值):

1.在子组件中定义事件,用this.$emit("自定义的事件名", "传递的内容");

2.在父级组件中的调用标签上绑定事件v-on:子组件中定义的事件名="父组件中要执行的事件($event)"进行接收;

3.在父级的methods中定义事件接收

父级事件名(形参){

this.要改变的参数名=形参;

}

生命周期

    new Vue()实例化vue对象;

在完成之前会有一个beforeCreate,它仅对事件进行一个配置,这时可以进行一个加载的动画;用此钩子函数;

之后进入到created,这时候实例化完成,组件创建完成,属性成功绑定,但Dom并没有生成,页面并没有展示出来;这里可以获取对应的一些数据,结束上边钩子的例子;如停止加载动画,准备渲染DOM;

之后会查看当前有没有el(element)属性,

有,往下;

没有,查看有没有$mount(),

有,往下,

没有,生命周期结束。

之后会检查有没有template属性

有,template中执行一个具体的组件,执行render方法渲染template里对应的内容

没有,生命周期结束;

之后beforeMount,编译template方法,在虚拟DOM中执行,页面还是看不到内容

之后是mounted,beforeMount之后编译的模板放入页面,mounted时模板编译完成,开始挂载;mounted结束页面就会显示出来;如有页面显示出来之后需要做的,放在此方法里

页面显示完成了,组件也挂载了,此时对项目做一些更改(增删改查);会触发下一个钩子函数Update

    beforeUpdate:当前组件在更新之前的钩子

    updated:组件在更新之后的钩子;此钩子执行之后,页面就是更新之后的样子

beforeDestroy:组件实例销毁之前;

distroyed:组件实例销毁之后;

  methods: {},

  beforeCreate: function() {

    alert("组件实例化之前执行的函数");

  },

  created: function() {

    alert("组件实例化完毕,但页面还未显示");

  },

  beforeMount: function() {

    alert("组件挂载前,页面仍未展示,但虚拟Dom已经配置");

  },

  mounted: function() {

    alert("组件挂载后,此方法执行后页面显示");

  },

  beforeUpdate:function(){

    alert("组件更新前,页面仍未更新,但虚拟Dom已经配置");

  },

  updated:function(){

    alert("组件更新后,页面显示更新后的组件");

  },

  beforeDestroy:function(){

    alert("组件销毁前");

  },

  destroyed:function(){

    alert("组件销毁");

  }

路由和http

共享网络接口:http://jsonplaceholder.typicode.com/

安装resource模块 指令:npm install vue-resource --save-dev

router下的index.js中配置

引入:

import Router from 'vue-router'

import VueResource from 'vue-resource'

Vue.use(Router)

Vue.use(VueResource)

mode: "history", //在router上边使用这个是去除链接上初始的#

routes: [

    {

      path: '/',      //根路径

      name: 'HelloWorld',

      component: HelloWorld,//此处是引入时的起的名字

      children:[

      {

              path: '/home',      //路径  嵌套字路由

              name: 'HelloWorld',

              component: HelloWorld,//此处是引入时的起的名字

      }

      ]

    }

  ]

在组件中的钩子函数中请求

  created(){

    this.$http.get("http://jsonplaceholder.typicode.com/users")

        .then((data)=>{

          console.log(data);

          this.users=data.body;

        })

  }

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.01.23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档