Vue.js 组件不起作用
2016-11-24
30207
我似乎无法弄清楚如何使组件工作。没有组件,它可以正常工作(注释的代码)。
这是我的 HTML:
<strong>Total Price:</strong> <span v-text="total"></span><br>
<strong>CPC:</strong> <span v-text="cpc"></span>
这是我的 Vue.js 代码:
Vue.component('my-component', {
// data: function() {
// return { interval: 0, exposure: 0, clicks: 0, total: 0, cpc: 0 }
// },
computed: {
total: function () {
return(this.clicks * (this.exposure * 0.001 / 10) / 700).toFixed(8)
},
cpc: function () {
return((this.total) / (this.clicks > 0 ? this.clicks : 1)).toFixed(8)
}
}
});
const app = new Vue({
el: '#app',
data: {
interval: 0, exposure: 0, clicks: 0, total: 0, cpc: 0
},
// computed: {
// total: function () {
// return(this.clicks * (this.exposure * 0.001 / 10) / 700).toFixed(8)
// },
// cpc: function () {
// return((this.total) / (this.clicks > 0 ? this.clicks : 1)).toFixed(8)
// }
// }
});
1) 除非我取消注释注释的代码,否则这不起作用。
2) JSFiddle: http://jsfiddle.net/tjkbf71h/3/
3个回答
您需要在 HTML 标记中包含该组件:
<div id="app">
<my-component></my-component>
</div>
然后,您想要作为此组件的一部分显示的 HTML 需要位于模板、内联或其他形式中:
Vue.component('my-component', {
template: '<div>Your HTML here</div>',
data: function() {
return { interval: 0, exposure: 0, clicks: 0, total: 0, cpc: 0 }
},
//
jaredsk
2016-11-24
你没有为组件定义模板,因此 Vue 不知道在哪里以及如何呈现你的组件。
你可以使用内联模板字符串,将其挂载到模板标签,或者使用单文件组件 - 使用 webpack 或 browserify。
首先,我建议你阅读文档
Belmin Bedak
2016-11-24
如果你认为单文件组件很丑,那么你可以使用它。 https://v2.vuejs.org/v2/guide/single-file-components.html
ichti
2016-11-24