2017-12-31 137 views
2

최선의 방법이 무엇인지 잘 모르겠습니다. 꽤 많이 컴포넌트를 만들고 싶습니다. 그리고 활용하고 싶은 객체 레벨 변수가 있습니다. 아래 예제를 참조하십시오 :TypeScript와 Vuejs를 함께 사용할 때 객체 수준 변수?

개체 수준의 변수 paperScope를 갖고 싶습니다. 메소드간에 참조 할 수 있도록하고 싶습니다. vuejs가 모니터 할 필요가 없기 때문에 이러한 변수를 데이터에 저장하고 싶지 않습니다. 어떤 것이 있습니까

this.$privateVariables["paperScope"] = paperScope 

사용할 수 있습니까?

내 생각에 지금은 vue를 확장하고 $ privateVariables와 같은 것을 포함하는 유형 정의를 만들어야한다고 생각합니다. 내가 성취하려는 일을하는 데있어서 기본 제공 방식이나 더 나은 방법이 있는지 궁금합니다.

답변

0

vuejs가 모니터 할 필요가 없으므로 이러한 변수를 데이터에 저장하고 싶지 않습니다.

그런 종류의 비 반응 변수를 구현하려면 $options을 사용하면됩니다. 나는 또한 this issue comment에서이 기술을 배웠다.

https://jsfiddle.net/ujd1h586/

HTML :

<div id="app"> 
    <p>{{ message }}</p> 
    <button @click="updateText"> 
    update 
    </button> 
</div> 

뷰 구성 요소 :

new Vue({ 
    el: '#app', 

    privateVariable: 'Thanks Vue.js!', 

    data() { 
    return { 
     message: 'Hello Vue.js!' 
    }; 
    }, 

    methods: { 
    updateText() { 
     this.message = this.$options.privateVariable; 
    } 
    } 
})