计算属性
格式:
computed:{
属性名:function(){
return 返回值;
}
}
<template>
<view class="demo">
<view>{
{message}}</view>
<view>{
{reversedMessage}}</view>
</view>
</template>
在computed中写上计算属性
<script>
export default {
data() {
return {
message: 'uniapp'
}
},
computed:{
//计算属性的 getter
reversedMessage: function() {
return this.message.split('').reverse().join('') //字符串反转
}
}
}
监听属性
通过$watch来响应数据的变化
<view>
<text>{
{mag}}</text>
</view>
<button type="primary" @tap="add">add</button>
data:{
mag:0
},
methods: {
add(){
this.mag=this.mag+1;
}
},
watch:{
mag:function(new,old){
console.log("watch",this.mag)
}
}
列表渲染 v-for
循环渲染
<view>
<view v-for="(item,index) in students">
{
{index}}-{
{item.name}}:{
{item.age}}
</view>
</view>
data(){
return{
students:[
{name:"zhangsan",age:18},
{name:"lisi",age:20}
]
}
}
vue必须要有根节点,在外面再嵌套一层view
(item,index) in students
括号表示要用哪些字段,中间用逗号隔开,in表示要循环哪个数组
条件渲染
v-if
可以根据某个变量决定某个部分是否展示
可以起到动态的展示或者是隐藏某个元素的作用
<view>
<view v-if="test"