我试图将一个 prop 从主 Vue 实例传递到一个组件。我正在传递两个 Prop ,第一个有效,但第二个由于某种原因无效。
主实例
var app7 = new Vue({
el: '#app-7',
template: `<div class="b">
<div>
<button class="c" v-on:click="previousDay">‹</button>
<h1 >{{ this.ss }}</h1>
<button class="c" v-on:click="nextDay">›</button>
<div>
<emp-item
v-for="item in empList"
v-bind:emp="item"
v-bind:key="item.id">
v-bind:lines="lines"
</emps-item>
</div>`,
data: function() {
return {
empList : l,
lines: 0,
day: 0
}
// other stuff
组件
Vue.component('emp-item', {
props: ['emp', 'lines'],
template: `<div class="cv">
<h6>{{emp.first_name}} {{ lines }}</h6>
<canvas v-on:mousedown="mouseDown" v-on:mousemove="mouseMove" v-on:mouseup="mouseUp" :id="'cv' + emp.id" class="canvas" width="150" height="700"></canvas>
</div>`,
data: function() {
return {
rect : {},
drag : false,
startTime : 0,
cv: ''
}
},
watch: {
lines: function () {
console.log('watch: ');
}
},
// methods
如果 HTML 很重要
<div id="app-7">
<app></app>
</div>
最佳答案
在绑定(bind)第二个 prop 之前关闭组件标签。它应该看起来像这样:
var app7 = new Vue({
el: '#app-7',
template: `<div class="b">
<div>
<button class="c" v-on:click="previousDay">‹</button>
<h1 >{{ this.ss }}</h1>
<button class="c" v-on:click="nextDay">›</button>
<div>
<emp-item
v-for="item in empList"
v-bind:emp="item"
v-bind:key="item.id"
v-bind:lines="lines">
</emps-item>
</div>`,
data: function() {
return {
empList : l,
lines: 0,
day: 0
}
})
关于javascript - 传递 Props Vue js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47823395/