4

カスタム メソッドで get/set ペアを使用すると、svelte コンポーネントをコンパイルできません。これはサポートされていませんか? それとも私は何か間違ったことをしていますか?

例:

名前を表示するコンポーネントが必要で、使用して名前を設定したいとします。 com.name = 'The new name';

ただし、名前にスペースが含まれていない場合にのみ、コンポーネントに名前を使用させたいと思います。

<h1>Hello {{name}}!</h1>

<script>
    export default {
        data () {
            return {
                name: 'The Name',
            }
        },
        methods: {
            get displayName() {
                return this.get('name'); 
            },
            set displayName(val) {
                if (val.indexOf(' ') < 0) {
                    this.set('name', val);
                }
            }
        }
    }
</script>

問題は、これをコンパイルしようとすると、重複したキーがあると表示されることです。

    Duplicate property 'displayName'

    49:             return this.get('name');
    50:         },
    51:         set displayName(val) {

REPL はこちらです - https://svelte.technology/repl?version=1.13.2&gist=0eeab5717526694139ba73eae766bb30

これに関するドキュメントには何も表示されません。セッターを使用することはできませんが、使用できるようにしたいと考えています。

4

2 に答える 2