この記事の内容は、小さなプログラムの開発におけるコンポーネント間の値の転送方法 (コード例) に関するものです。必要な方は参考にしていただければ幸いです。 。
1. コンポーネントの作成
WeChat 開発者ツールを開き、wxml、wxss、js、json
Wxml 内に次の 4 つのファイルが生成されます。 # #
<view>我是组件A</view>
Component({ behaviors: [], properties: { }, data: { }, // 私有数据,可用于模版渲染 // 生命周期函数,可以为函数,或一个在methods段中定义的方法名 attached: function () { }, moved: function () { }, detached: function () { }, methods: { } })
{ "component": true, "usingComponents": {} }
{ "usingComponents": { "componentA": "../../components/child1/child1" } }
<view> <view>微信小程序组件传参</view> <componentA /> </view>
#宣言: 次のように、A コンポーネントが親コンポーネント、B コンポーネントが子コンポーネントです。コンポーネント A はコンポーネント B にパラメータを渡します:
コンポーネント B をコンポーネント Aコンポーネント A の json に書き込みます: {
"component": true,
"usingComponents": {
"componentB": "../child2/child2"
}
}
<view>我是组件A</view>子组件内容:
コンポーネント B の JS で、次のように記述します:
Component({ behaviors: [], properties: { paramAtoB:String }, data: { }, // 私有数据,可用于模版渲染 // 生命周期函数,可以为函数,或一个在methods段中定义的方法名 attached: function () { }, moved: function () { }, detached: function () { }, methods: { } })
つまり、プロパティでコンポーネント A によって渡されるパラメーターの型を定義します
Write B コンポーネントの wxml 内:
<view style='border:2px solid gray;'> <view style='text-align:center;'>我是组件B</view> <view>A中传入的参数:{{paramAtoB}}</view> </view>
実際、B コンポーネントが A コンポーネントに導入されると、属性が渡されます。それに値を割り当てると、B コンポーネントはこの属性名 paramAtoB
4 を通じてその値を取得します。子コンポーネントは親コンポーネントにパラメータを渡します。ステートメント: A コンポーネントは親コンポーネントです。 、および B コンポーネント サブコンポーネントとして、B コンポーネントがパラメータを A コンポーネントに渡す方法は次のとおりです。
<view style='padding:20px;border:2px solid red;'> <view style='text-align:center;'>我是组件A</view> <view> <view>A组件内容:</view> <view>B组件传入参数:{{paramBtoA}}</view> <componentB paramAtoB='我是A向B中传入的参数' bind:myevent="onMyEvent"/> </view> </view>
myevent がバインドされたトリガー イベントです。 親コンポーネント A js: の
Component({ behaviors: [], properties: { }, data: { }, // 私有数据,可用于模版渲染 // 生命周期函数,可以为函数,或一个在methods段中定义的方法名 attached: function () { }, moved: function () { }, detached: function () { }, methods: { onMyEvent:function(e){ this.setData({ paramBtoA: e.detail.paramBtoA }) } } })
onMyEvent は、サブコンポーネントによってトリガーされたときの関数です。
サブコンポーネント B の wxml:
<view style='border:2px solid gray;'> <view style='text-align:center;'>我是组件B</view> <view>A中传入的参数:{{paramAtoB}}</view> <button bindtap='change'>向A中传入参数</button> </view>
ボタン クリック イベントがトリガーされるとすぐに、パラメーターを親コンポーネント A に渡すことができます。子コンポーネント B では、js:
Component({ behaviors: [], properties: { paramAtoB:String }, data: { }, // 私有数据,可用于模版渲染 // 生命周期函数,可以为函数,或一个在methods段中定义的方法名 attached: function () { }, moved: function () { }, detached: function () { }, methods: { change:function(){ this.triggerEvent('myevent', { paramBtoA:123}); } } })
this.triggerEvent がイベントの後に実行されます。ボタンをクリックすると、myevent イベントがトリガーされます。パラメータ paramBtoA を親コンポーネントに渡します
Column
小規模プログラム
読む 読むのに10分かかります[ミニプログラム開発] コンポーネント間での値の受け渡し1. コンポーネントの作成WeChat 開発者ツールを開きます。 , コンポーネントを作成すると、wxml、wxss、js、json
In wxml:
<view>我是组件A</view>
Component({ behaviors: [], properties: { }, data: { }, // 私有数据,可用于模版渲染 // 生命周期函数,可以为函数,或一个在methods段中定义的方法名 attached: function () { }, moved: function () { }, detached: function () { }, methods: { } })
{ "component": true, "usingComponents": {} }
を実行します。
{ "usingComponents": { "componentA": "../../components/child1/child1" } }
<view> <view>微信小程序组件传参</view> <componentA /> </view>
コンポーネント A に B コンポーネントを導入します
A コンポーネントの json に書き込みます:{ "component": true, "usingComponents": { "componentB": "../child2/child2" } }
<view>我是组件A</view>子组件内容:
Component({ behaviors: [], properties: { paramAtoB:String }, data: { }, // 私有数据,可用于模版渲染 // 生命周期函数,可以为函数,或一个在methods段中定义的方法名 attached: function () { }, moved: function () { }, detached: function () { }, methods: { } })
コンポーネント B の wxml に記述:
<view style='border:2px solid gray;'> <view style='text-align:center;'>我是组件B</view> <view>A中传入的参数:{{paramAtoB}}</view> </view>
概要:
実際、A コンポーネントは B コンポーネントにパラメータを渡します。B コンポーネントが A コンポーネントに導入されると、属性 paramAtoB が渡され、それに値が割り当てられます。その後、B コンポーネントはこの属性名を通じてその値を取得します。 paramAtoB.4. サブコンポーネントが親コンポーネントにパラメータを渡す宣言: A コンポーネントが親コンポーネントであり、B コンポーネントがサブコンポーネントである方法は次のとおりです。 子コンポーネントから親コンポーネントにパラメータを渡すには、次のように、親コンポーネントが子コンポーネントを導入するときに、まずトリガー イベントを追加する必要があります。コンポーネント A wxml:
<view style='padding:20px;border:2px solid red;'> <view style='text-align:center;'>我是组件A</view> <view> <view>A组件内容:</view> <view>B组件传入参数:{{paramBtoA}}</view> <componentB paramAtoB='我是A向B中传入的参数' bind:myevent="onMyEvent"/> </view> </view>
myevent はバインドされたトリガー イベントです。
親コンポーネント A では、js:Component({ behaviors: [], properties: { }, data: { }, // 私有数据,可用于模版渲染 // 生命周期函数,可以为函数,或一个在methods段中定义的方法名 attached: function () { }, moved: function () { }, detached: function () { }, methods: { onMyEvent:function(e){ this.setData({ paramBtoA: e.detail.paramBtoA }) } } })
onMyEvent が子コンポーネントによってトリガーされたときの関数
サブコンポーネント B では、wxml:
<view style='border:2px solid gray;'>
<view style='text-align:center;'>我是组件B</view>
<view>A中传入的参数:{{paramAtoB}}</view>
<button bindtap='change'>向A中传入参数</button>
</view>
Component({ behaviors: [], properties: { paramAtoB:String }, data: { }, // 私有数据,可用于模版渲染 // 生命周期函数,可以为函数,或一个在methods段中定义的方法名 attached: function () { }, moved: function () { }, detached: function () { }, methods: { change:function(){ this.triggerEvent('myevent', { paramBtoA:123}); } } })
this.triggerEvent はボタンがクリックされた後に実行されるイベントで、myevent イベントをトリガーし、パラメーター paramBtoA を親コンポーネントに渡します
## ##報告##################### ##########################
#興味があるかもしれません以上がミニプログラム開発におけるコンポーネント間の値の受け渡し方法(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。