欢迎光临,了解微信小程序开发,就上易用通!

Coco-LG的学习笔记《三》image(图片)

发布:2018-01-26 15:58浏览: 来源:网络 作者:cola

在微信小程序中,要显示一张图片,有两种图片加载方式:

  1. 加载本地图片
  2. 加载网络图片

 

加载本地图片

 

[html] view plain copy
 
<image class="widget__arrow" src="/image/arrowright.png" mode="aspectFill">  
</image>  

src="/image/arrowright.png" 这句就是加载本地图片资源的。想想iOS中的加载本地图片,imageName:,类似。

 

 

加载网络图片

微信在加载网络这方面封装的还是很好的,包括语音和视频的加载。直接给'src'这个属性附上地址,它会自动加载。

 

[html] view plain copy
 
<image class="image_frame" src="{{imageUrl}}" mode="aspectFill">  
</image>  

这个imageUrl是在js文件中数据

 

 

[html] view plain copy
 
data:{  
    imageUrl:"https://img1.3lian.com/2015/w7/85/d/101.jpg"  
},  
也可以直接写成

 

 

[html] view plain copy
 
<image class="image_frame" src="https://img1.3lian.com/2015/w7/85/d/101.jpg" mode="aspectFill">  
</image>  

下来就看看image的一些属性

 

Coco-LG的学习笔记《三》image(图片)(图1)

需要注意的是:image组件默认宽度300px、高度225px

src就是上面代码中用到的。

mode有12种模式,其中3种是缩放模式,9种是裁剪模式。

具体说明建议看官方文档,很详细。点击打开链接

很简单就这些。

 

遗留问题

在实践中,想实现这样一个功能:点击一个按钮,让这个图片重新加载。

不知道怎样可以在js文件中直接操作image。后续学习或许会知道。哪位仁兄知道方法请在留言中不吝赐教。

 

补充

遗留问题已经找到答案。

在按键的响应方法中直接用setData给imageUrl设定新的地址即可

 

[html] view plain copy
 
downLoadImage:function(event){  
    console.log(event)  
    var that = this;  
    this.setData({  
        imageUrl:"https://h.hiphotos.baidu.com/zhidao/pic/item/6d81800a19d8bc3ed69473cb848ba61ea8d34516.jpg"  
    })  
  }  

效果如下:

 

Coco-LG的学习笔记《三》image(图片)(图2)

 

附录:

1.tabBar不能正确显示

建议先看看官方文档中多tabBar的说明:点击打开链接

需要注意的是:

  • 写在pages数组中的页面,第一项代表小程序的初始页面,这个页面也必须是tabBar的第一项。后面的就无所谓了。
  • tabBar 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。

2.报错"Parse app.json error: SyntaxError: Unexpected token / in JSON at position 332"

这个是应为在.json文件中用了注释。该文件是不能有任何注释的。

 

3.想给任意一个页面(Page)添加tabBar?

这是不能的。目前微信只能在首页加载。这个和iOS中的tableBar还是不一样滴!





免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。