複数の子「子」をラップする親コンポーネントがあります。私は親が本質的にバニラのマークアップと同じテンプレートを持っていて、私がレンダリング機能を使用している理由です。レンダリング関数呼び出しでVueJSを子に渡す
親がアクティブな子の状態を管理するようにします。しかし小道具は子どもたちに伝わっていないようです。
私はdocumentation saysを適用しようとしましたが、小児では小道具が未定義です。しかし、私がitem.data.staticClass = 'testing-class';
を行うと、そのクラスは各子供に適用されます。
Vue.component('parent', {
data: function() {
return {
activeIndex: 0
}
},
render: function(createElement) {
this.$options._renderChildren.forEach(function(item, index) {
if (item.data === undefined) //whitespace?
return;
item.data.props = {
activeindex: this.activeIndex,
index: index
}
}.bind(this));
return createElement('div', {}, this.$options._renderChildren);
}
});
Vue.component('child', {
template: '<div>Im a child</div>',
props: ['activeindex', 'index'],
mounted: function() {
console.log(this.$props); //undefined
}
});
new Vue({
el: '#app'
});
ご協力いただきありがとうございます。私は実際にこれを認識しましたが、親/子のコミュニケーションの問題につながりましたので、答えを投稿する時間がありませんでした! EG:https://jsfiddle.net/zqufydvc/1/ – Kiee