WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明

高洛峰
リリース: 2017-03-15 16:27:25
オリジナル
2740 人が閲覧しました

この記事では主にWeChat Mini ProgramViewコンテナコンポーネントの詳細な説明とサンプルコードを紹介します。ここでは基本的な知識を詳しく紹介し、必要な友人はそれを参照してください

。プログラム ビュー コンテナ コンポーネントの詳細な説明:

アプレットには 3 つのビュー コンテナ コンポーネント: 、、:

1、 view> ビュー コンテナ

には、HTML の

タグと同等の

WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明 属性があります。クリック効果 関連: hover はクリック効果を有効にするかどうかを設定し、hover-class はクリックの効果を設定します。

hover-start-time と hover-stay-time は、クリック効果の時間に関連しています: hover-start-time は、クリック、hover-stay 後に表示されるクリック効果の遅延時間を設定します。 -time クリック効果の持続時間を設定します。時間の単位はミリ秒です。

テストするプロジェクトを作成します:効果は次のとおりです:最初と 2 番目のサブビューのクリック効果は異なります。2 番目のクリックは遅延が長く、持続時間も長くなります。 3 番目の値には他のクリック効果がないため、これがデフォルト値として使用され、デフォルトではクリック効果がありません。

2. スクロール可能なビューエリア

には、水平スクロールと垂直スクロールの 2 つのタイプがあります。 には次の属性があります:

同様に、上記の属性の使用法を理解するためにプロジェクトを作成します。

index.wxml

<view class="container">
 <view class="flex-item bc_green" hover="true" hover-class="green_hover">1</view>
 <view class="flex-item bc_red" hover="true" hover-class="red_hover" hover-start-time="400" hover-stay-time="1000">2</view>
 <view class="flex-item bc_blue">3</view>
</view>
ログイン後にコピー

index.wxss

.flex-item{
 width: 100%;
 height: 100px;
 box-sizing: border-box;
}
.bc_green{
 background-color: green;
}
.bc_red{
 background-color: red;
}
.bc_blue{
 background-color: blue;
}
.green_hover{
 border: 5px solid black;
}
.red_hover{
 border: 5px solid black;
}
ログイン後にコピー

WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明

index.js

<view class="container">
 <scroll-view class="srcoll_view" scroll-y="true" lower-threshold="100" bindscrolltolower="lower" scroll-top="{{scrollTop}}" scroll-into-view="{{toView}}">
 <view id="green" class="flex-item bc_green">1</view>
 <view id="red" class="flex-item bc_red">2</view>
 <view id="blue" class="flex-item bc_blue">3</view>
 <view id="yellow" class="flex-item bc_yellow">4</view>
 </scroll-view>
 <view class="clickItem" bindtap="clickAdd">点击向下滚动</view>
 <view class="clickItem" bindtap="clickTo">点击滚动到下一个子view</view>
</view>
ログイン後にコピー

ページの効果は次のとおりです:

WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明

scroll- yとscroll-x"

まず、縦スクロールを意味するのscroll-y="true"を設定します。index.wxssでは高さを200pxに設定していますが、サブ子 のそれぞれの高さは 100 ピクセルで、2 つの完全なサブ子 を完全に収容できます。scroll-x="true" が設定されている場合、水平にスクロールします。

scroll-topとscroll-

left

scroll-topは垂直スクロールバーの位置で、デフォルトは同様に0です。上記のプログラムでは、scroll-leftは水平スクロールバーの位置です。 、scroll-top="{{scrollTop}}" が設定され、scrollTop はデータから決定されます

表示を改善するには、

関数

を新しい にバインドします:

.srcoll_view{
 height: 200px;
}
.flex-item{
 width: 100%;
 height: 100px;
 box-sizing: border-box;
}

.bc_green{
 background-color: green;
}

.bc_red{
 background-color: red;
}

.bc_blue{
 background-color: blue;
}
.bc_yellow{
 background-color: yellow;
}

.clickItem{
 margin-top: 20px;
 background-color: grey;
 height: 20px;
 border-radius: 5px;
}
ログイン後にコピー

。この関数は、scrollTop の値を段階的に変更します:

var app = getApp();
var order = [&#39;green&#39;,&#39;red&#39;, &#39;blue&#39;,&#39;yellow&#39;,&#39;green&#39;];
Page({
 data: {
 scrollTop: 0,
 toView:"green"
 },

 onLoad: function () {
 },

 lower: function(e) {
 console.log(e)
 },

 clickAdd:function(){
 this.setData({
  scrollTop: this.data.scrollTop+20
 });
 console.log("this.data.scrollTop:" + this.data.scrollTop);
 },

 clickTo: function(e) {
 for (var i = 0; i < order.length; i++) {
 if (order[i] === this.data.toView) {
 this.setData({
  toView: order[i + 1]
 })
 break
 }
 }
 },

})
ログイン後にコピー

WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明つまり、1 回クリックするたびに、scrollTop が 20 ずつ増加するため、20 ピクセル下にスクロールします

scroll-into-view

scroll-into-view的值为某个子元素的id,表明滚动到该元素,元素顶部对齐滚动区域顶部。上述程序中设置了scroll-into-view="{{toView}}",toView从数据中获取。

新建一个并绑定一个函数:

<view class="clickItem" bindtap="clickTo">点击滚动到下一个子view</view>
1
ログイン後にコピー

函数的功能为按顺序滚动到对应的子元素:

clickTo: function(e) {
 for (var i = 0; i < order.length; i++) {
 if (order[i] === this.data.toView) {
 this.setData({
  toView: order[i + 1]
 })
 break
 }
 }
 },
ログイン後にコピー

其中order为一个数组变量,存放着所有子元素的id:

var order = [&#39;green&#39;,&#39;red&#39;, &#39;blue&#39;,&#39;yellow&#39;];
ログイン後にコピー

bindscrolltolower和bindscrolltoupper

bindscrolltolower和bindscrolltoupper为事件绑定:bindscrolltolower是滚动到底部/右边时触发;bindscrolltoupper是滚动到顶部/左边时触发。另外还有一个bindscroll是只要滚动时就会触发。

以bindscrolltolower为例,bindscrolltolower表示滚动到底部或右边时触发,这个底部或右边是如何定义的呢?这时就需要用到lower-threshold,lower-threshold表示距底部/右边多远时(单位px),触发 scrolltolower 事件,默认值为50,上述代码中我们定义了lower-threshold="100",由于子的高度就是100px,所以正好出现最后一个子时就会触发事件:

WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明

3、 滑块视图容器

其实就是微信小程序封装的幻灯片轮播功能,并给出了几个可供开发者设置的属性:

WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明

用户可以根据自己需求设置相应的属性值即可,示例代码如下:

swiper.wxml

<view class="container">
 <swiper indicator-dots="{{indicatorDots}}"
 autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" circular="{{circular}}" bindchange="change">
 <block wx:for="{{imgUrls}}">
  <swiper-item>
  <image src="{{item}}" />
  </swiper-item>
 </block>
 </swiper>
</view>
ログイン後にコピー

swiper.wxss

swiper{
 height: 150px;
 width:100%;
}
ログイン後にコピー

swiper.js

Page({
 data: {
 imgUrls: [
 &#39;http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg&#39;,
 &#39;http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg&#39;,
 &#39;http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg&#39;
 ],
 indicatorDots: true,
 autoplay: true,
 interval: 2000,
 duration: 500,
 circular:true
 },

 change:function(e){
 console.log(e);
 }

})
ログイン後にコピー

由于绑定了change函数,所以每次切换时,都会触发change事件:

WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

以上がWeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート