2025-01-07
以下是uni-app的语法示范:
<template>
{{ 2+3 }}
{{ a + 5 }}
{{ Date.now() }}
{{ Math.random() }}
{{ 1<2 ? '张三' : '李四' }}
</template>
函数声明:
<script setup>
function sayHello(){
return "hello world"
}
</script>
调用:
<view>{{\ sayHello() }}</view>
需要用ref
。
<script setup>
import {ref} from 'vue';
let name = ref('linxz');
function changeName() {
name.value = 'Mary';
}
</script>
使用ref()的时候,取值必须通过.value完成。
而针对对象,可以用reactive(),取值就不用加.value。不过开发中一般都是用ref(),容易记。
let car = reactive({ brand: 'benz', price: 100 })
使用v-bind:,或者简写方式-冒号:
<image v-bind:src="picUrl />
//简写方式
<image :src="picUrl />
<script>
import {ref} from "vue";
cosnt picUrl = ref("../../static/pic1.png")
</script>
<div :class="{active: isActive}"></div>
常见应用:
若条件为true时,添加.active,否则啥也不加。
<view class="box" :class="true?'active':''"></view>
<view style="width: 300px"></view>
如果需要用变量。
注意,纯数字比如300是不用打引号的,300px这样的表达才需要。
<view :style="{width: '300px'}"></view>
取余操作即可。
import {ref} from "vue";
const arrs = ref(["url1", "url2", "url3","url4"])
let i = 0;
setInterval(()=>{
i++;
picUrl.value = arrs.value[i%4]
})