在显示之前覆盖道具

时间:2017-08-03 00:29:24

标签: vue.js vuejs2 vue-component

在Vue中,有没有办法在通过设置方法在视图中显示道具数据之前覆盖/操纵道具数据,或者是否有一个开关或者我可以在组件模板中使用它?

所以基本上,如果道具是"你好",我想把它显示为" Hello World。"

在vue中实现这一目标的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

使用computed property

Vue.component("hello", {
  props:["msg"],
  template: `<div>{{greeting}}</div>`,
  computed:{
    greeting(){
      return this.msg + " world!"
    }
  }
})

这是一个例子。

Vue.component("hello", {
  props: ["msg"],
  template: `<div>{{greeting}}</div>`,
  computed: {
    greeting() {
      return this.msg + " world!"
    }
  }
})

new Vue({
  el: "#app"
})
<script src="https://unpkg.com/vue@2.2.6/dist/vue.js"></script>
<div id="app">
  <hello :msg="'Hello'"></hello>
</div>