Vue2.0与 [百度地图] 结合使用———vue+webpack+axios+百度地图实现组件之间的通信

Vue2.0与 [百度地图] 结合使用:
1.vue init webpack-simple vue-baidu-map
2.下载axios
  cnpm install axios;

3.在main.js中引入axios,并使用
  import axios from ‘axios‘
  /* 把axios对象挂到Vue实例上面,其他组件在使用axios的时候直接 this.$http就可以了 */
  Vue.prototype.$http = axios;

4.引入百度地图的js秘钥--->最好在index.js中直接引入
  <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥">

5.新建文件Map.vue,作为map组件使用
<template>
  <div id="div1" :style="style"></div>
</template>
<script>
  export default{
    data:(){
      return{
        style:{
          width:‘100%‘,
          height:this.height+‘px‘
        }
      }
    },
    props:{ //里面存放的也是数据,与data里面的数据不同的是,这里的数据是从其他地方得到的数据
      height:{
        type:Number,
        default:300
      },
      longitude:{}, //定义经度
      latitude:{} //定义纬度
    },
    mounted(){
      var map = new BMap.Map("div1");
      var point = new BMap.Point(this.longitude,this.latitude);
      map.centerAndZoom(point, 12);
      var marker = new BMap.Marker(point);// 创建标注
      map.addOverlay(marker);
    }
  }
</script>

6.假如最终组件在App.vue里面使用
<template>
  <!-- 绑定latitude属性,传给Map.vue,这样通过props就拿到了数据,类似于父组件往子组件传数据 -->
  <MapView :height="height" :longitude="longitude" :latitude="latitude"></MapView>
</template>

import MapView from ‘./components/Map.vue‘

export default{
  data(){
    return{
      height:300,
      longitude:116.404,
      latitude:39.915
    }
  },
  componets:{
    MapView
  },
  mounted(){

  }
}

项目连接:https://github.com/yufann/vue-baidu-map
这个项目中有两个百度地图:
第一个地图实现效果是:vue+webpack+百度地图-->实现父子组件的通信(跳跃的图标(没有使用axios))
第二个地图实现效果是:vue+webpack+axios+百度地图-->实现父子组件的通信(给多个点添加信息窗口(使用了axios))

时间: 2024-12-07 01:52:58

Vue2.0与 [百度地图] 结合使用———vue+webpack+axios+百度地图实现组件之间的通信的相关文章

从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十六 ║ Vue前篇:ES6初体验 &amp; 模块化

缘起 昨天说到了<从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十五 ║ Vue前篇:JS对象&字面量&this>,通过总体来看,好像大家对这一块不是很感兴趣,嗯~~这一块确实挺枯燥的,不能直接拿来代码跑一下那种,不过还是得说下去,继续加油吧!如果大家对昨天的小demo练习的话,相信现在已经对JS的面向对象写法很熟悉了,如果嵌套字面量定义函数,如何使用this关键字指向.今天呢,主要说一下ES6中的一些特性技巧,然后简单说一下模块化的问题,好啦,开始今天的讲

从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十三║Vue实战:Vuex 其实很简单

系列教程一目录:.netcore+vue 前后端分离 系列教程二目录:DDD领域驱动设计 系列教程三目录:Nuxt.js TiBug系统 系列教程四目录:VueAdmin 后台管理系统 系列教程五目录:IdentityServer4 授权服务器 本文梯子 前言 零.今天要完成实战1中的红色部分 一.常见的 Vue 表单提交是如何设计的? 1.表单.按钮等在一个组件内 2.按钮在父组件.表单在单独的子组件内 二.通过 $emit 修改父组件数据 1.在原来代码里 About.vue 修改成 For

VUE 2.0 父子组件之间的通信

父组件是通过props属性给子组件通信的来看下代码: 父组件: <parent> <child :child-com="content"></child> //注意这里用驼峰写法哦 </parent> data(){ return { content:'sichaoyun' }; } 子组件通过props来接受数据 第一种方法 props: ['childCom'] 第二种方法 props: { childCom: String //这里

vue2.0嵌套组件之间的通信($refs,props,$emit)

vue的一大特色就是组件化,所以组件之间的数据交互是非常重要,而我们经常使用组件之间的通信的方法有:props,$refs和emit. 初识组件之间的通信的属性和方法 props的使用 子组件使用父组件的数据,使用vue的属性props. 当我们在父组件parent里面嵌套一个子组件son的时候,如果我们需要使用父组件的数据的时候,我们可以在子组件标签上面绑定一个属性,然后在子组件里面通过props来调用这个属性,就可以使用这个数据了. //父组件 <sonPart :list="list

Vue.js组件之间的通信

导语:组件之间的关系不外乎两种, 父子组件和非父子组件,本文将对两类组件之间的通信方式进行详细阐述. 父子组件间的通信 通信方式1(单向绑定): Props down, Events up (建议使用) Props down, Events up 是指 使用props向子组件传递数据,父组件属性发生变化时,子组件可实时更新视图:子组件发生变化,可以使用$emit发送事件消息,以此向父组件传递变化消息. props 是单向的,当父组件的属性变化时,将传递给子组件,但子组件中的props属性变化不会

【转】vue父子组件之间的通信

vue父子组件之间的通信 在vue组件通信中其中最常见通信方式就是父子组件之中的通性,而父子组件的设定方式在不同情况下又各有不同.最常见的就是父组件为控制组件子组件为视图组件.父组件传递数据给子组件使用,遇到业务逻辑操作时子组件触发父组件的自定义事件.无论哪种组织方式父子组件的通信方式都是大同小异. 父组件到子组件通讯 父组件到子组件的通讯主要为:子组件接受使用父组件的数据,这里的数据包括属性和方法(String,Number,Boolean,Object, Array ,Function).v

从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十一║Vue实战:开发环境搭建【详细版】

系列教程一目录:.netcore+vue 前后端分离 系列教程二目录:DDD领域驱动设计 系列教程三目录:Nuxt.js TiBug系统 系列教程四目录:VueAdmin 后台管理系统 系列教程五目录:IdentityServer4 授权服务器 本文梯子 缘起 零.今天要完成左下角红色的部分 A.Vue 常见的IDE —— 我是开发工具,干活的都是我 1.VsCode 2.Webstorm 3.Atom B.安装Nodejs环境 —— 我是运行环境,没我不行 C.安装 npm / cnpm ——

vue2.0父组件与子组件之间的通信

vue是一个轻量级的渐进式框架,对于它的一些特性和优点包括环境的一些配置在此就不做赘述,本篇文章主要来探讨一下vue子父组件之间通信的问题 首先我们先来看一个demo,目录结构为这样: ?src        ?components          ?child.vue ?app.vue 此时App.vue应为这样: 一.父组件向子组件传值 1.创建子组件,在src/components/文件夹下新建一个Child.vue 2.Child.vue中创建props,然后创建一个名为message

Vue1.0学习总结(4)———Vue1.0自定义组件、Vue1.0组件之间的通信

Vue自定义组件: 组件:就是一个大的对象:new Vue({})就是一个组件定义一个组件:1.全局组件: <div id="box"> <aaa></aaa> </div> var Aaa=Vue.extend({ template:'<h3>我是一个标题</h3>' }); Vue.component('aaa',Aaa); a)给自定义的组件添加数据: data必须是函数的形式,函数必须返回一个对象(json