299

これは、Vue.Js の計算されたプロパティにパラメーターを渡すことは可能ですか? 計算を使用してゲッター/セッターを使用すると、パラメーターを取得して変数に割り当てることができます。ドキュメントからのように:

// ...
computed: {
  fullName: {
    // getter
    get: function () {
      return this.firstName + ' ' + this.lastName
    },
    // setter
    set: function (newValue) {
      var names = newValue.split(' ')
      this.firstName = names[0]
      this.lastName = names[names.length - 1]
    }
  }
}
// ...

これも可能ですか:

// ...
computed: {
  fullName: function (salut) {
      return salut + ' ' + this.firstName + ' ' + this.lastName    
  }
}
// ...

計算されたプロパティは引数を取り、必要な出力を返します。ただし、これを試すと、次のエラーが発生します。

vue.common.js:2250 Uncaught TypeError: fullName は関数ではありません(…)

そのような場合にメソッドを使用する必要がありますか?

4

10 に答える 10

43

メソッドを使用することもできますが、メソッドの代わりに計算されたプロパティを使用することを好みます。データを変更したり、外部に影響を与えたりしない場合です。

この方法で計算されたプロパティに引数を渡すことができます(文書化されていませんが、メンテナーによって提案されています。場所を覚えていません):

computed: {
   fullName: function () {
      var vm = this;
      return function (salut) {
          return salut + ' ' + vm.firstName + ' ' + vm.lastName;  
      };
   }
}

編集: このソリューションは使用しないでください。コードが複雑になるだけで、何のメリットもありません。

于 2017-01-05T00:11:24.103 に答える