Добрый вечер. Разбираю пример туториала с сайта React для Vue. Столкнулся с проблемой создания дополнительной функции
renderSquare во vue для рендера компонента. То же самое с созданием дополнительной переменной, как
status в методе render в React, поместил данную переменную в метод. Принято ли так делать вообще во vue и как решаются данные ситуации, заранее спасибо!?
React:
class Board extends React.Component {
renderSquare(i) {
return (
<Square
value={this.props.squares[i]}
onClick={() => this.props.onClick(i)}
/>
);
}
render() {
const status = 'Next player: X';
return (
<div>
<div className="status">{status}</div>
<div className="board-row">
{this.renderSquare(0)}
{this.renderSquare(1)}
{this.renderSquare(2)}
</div>
<div className="board-row">
{this.renderSquare(3)}
{this.renderSquare(4)}
{this.renderSquare(5)}
</div>
<div className="board-row">
{this.renderSquare(6)}
{this.renderSquare(7)}
{this.renderSquare(8)}
</div>
</div>
);
}
}
Vue:
<template>
<div>
<div className="board-row">
{{ renderSquare(0) }}
{{ renderSquare(1) }}
{{ renderSquare(2) }}
</div>
</div>
</template>
<script>
import CSSModules from 'vue-css-modules'
import Square from 'components/Square'
import styles from './styles.css'
export default {
name: 'Board',
components: {
Square
},
methods: {
status() {
return 'Next player'
},
renderSquare(i) {
return ... и тут начались проблемы
},
},
mixins: [CSSModules(styles)],
}
</script>