uniapp+openlayers+renderjs:移动端地图
·
在uniapp中加载openlayers,uniapp并不直接支持,提供了一种强大的工具:renderjs。
在uni-app框架中,renderjs 是一个独特的功能,它允许你在视图层(即Vue组件的模板部分)直接执行JavaScript代码。这与传统的在脚本层(即Vue组件的script部分)执行代码的方式有所不同。renderjs 的主要优势在于它能够更高效地处理视图层的交互和计算,因为它直接在视图层运行,减少了与脚本层之间的通信开销。
其提供了视图层与逻辑层分离的模式,我们一般把vue实例作为逻辑层,把renderjs模块作为视图层。如果需要做出生动一点的功能,我们就要涉及到视图层与逻辑层的交互。
一般来说,视图层就是如下所示:
<script module="renderMap" lang="renderjs">
export function someMethod() {
console.log('地图被点击了');
// 在这里处理点击事件
}
</script>
我们需要再视图层定义地图以及一切需要的数据。
处理移动端事件:
<view class="buttons" @click="renderMap.someMethod">点击我</view>
上面则是一个由逻辑层向视图层发送信息的过程。在真机环境当中,视图层会在加载时运行一次someMethod方法,为什么呢?就是因为我们在逻辑层通过监听某一个属性变化(类似watch),来控制视图层方法的执行,当逻辑层的属性初始化,也相当于属性变化,就会执行视图层的方法。
更多推荐
所有评论(0)