面试题答案
一键面试假设组件类使用 Vue 语法来实现,模板部分代码如下:
<template>
<div>
<p>姓名:{{ user.name }}</p>
<p>年龄:{{ user.age }}岁 {{ isAdult()? '(成年)' : '(未成年)' }}</p>
</div>
</template>
<script>
export default {
data() {
return {
user: { name: 'John', age: 30 }
};
},
methods: {
isAdult() {
return this.user.age >= 18;
}
}
};
</script>
在上述代码中,通过插值表达式 {{ user.name }}
展示用户姓名,{{ user.age }}岁 {{ isAdult()? '(成年)' : '(未成年)' }}
展示年龄及根据 isAdult
函数判断后的成年或未成年状态。
如果是 React 语法,代码如下:
import React from'react';
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
user: { name: 'John', age: 30 }
};
}
isAdult = () => {
return this.state.user.age >= 18;
}
render() {
return (
<div>
<p>姓名:{this.state.user.name}</p>
<p>年龄:{this.state.user.age}岁 {this.isAdult()? '(成年)' : '(未成年)'}</p>
</div>
);
}
}
export default App;
这里在 JSX 中通过 {this.state.user.name}
展示姓名,{this.state.user.age}岁 {this.isAdult()? '(成年)' : '(未成年)'}
展示年龄及成年状态判断。