在项目中用到了百度地图,百度地图增加了 marker
,想在展开marker
的时候里面用 onclick 方法触发一个事件,这个事件能激活 vue 的 methods
的方法。怎么能做到呢?就是原生的dom事件激活 vue 的 methos 已经注册的事件。
data_info: [[116.417854,39.921990,`
<div class='M_message'>
// 怎么和methods通信
<div onclick="fun">查看详情</div>
</div>
`,'/assets/images/icon_pollute.png','1'],
[116.406605,39.921585,"地址:北京市东城区东华门大街",'/assets/images/icon_pollute.png','2'],
[116.412222,39.912345,"地址:北京市东城区正义路甲5号",'/assets/images/icon_pollute.png','3']
]
var marker = new BMap.Marker(new BMap.Point(that.data_info[i][0],that.data_info[i][1]),{icon:myIcon});// 创建标注
非常感谢
如果你想这样的话,你可以暴露vue实例对象出来。
比如说,在
create
钩子里执行window.vm=this
,这样就可以在onclick里用到vue实例定义的方法了,像window.vm.somMethod()
。当然暴露到window不安全,这只是个举例,你可以放到闭包里。