Привет, я недавно начал изучать vuejs с использованием машинописного текста. Я создал класс модели с использованием машинописного текста, и в нем есть закрытые атрибуты, к которым якобы можно получить доступ только через геттеры и поместить их в хранилище vuex
Но в строковой интерполяции (усах) каким-то образом я могу получить приватные атрибуты без getter
Пожалуйста, посмотрите на мой код ниже, Спасибо!
User.ts
import { Stock } from "./Stock";
export class User {
private _funds: number;
private _portofolio: Array<Stock>;
constructor() {
this._funds = 5000;
this._portofolio = [];
}
public updateFunds(by: number): void {
this._funds += by;
}
get portofolio(): Array<Stock> {
return this._portofolio;
}
}
store / index.ts (vuex load)
import Vue from "vue";
import Vuex from "vuex";
import { User } from "@/models/User";
Vue.use(Vuex);
export default new Vuex.Store({
state: {
user: new User()
},
getters: {
currentUser: state => {
return state.user;
}
},
mutations: {},
actions: {},
modules: {}
});
Приложение. vue (Master vue file)
<template>
<div id="app">
<p>Funds: {{ user._funds }}</p>
</div>
</template>
<script lang="ts">
import Vue from "vue";
export default Vue.extend({
data: function() {
return {
user: this.$store.getters.currentUser
};
},
created: function() {
console.log(this.user);
}
});
</script>