uni-app属性绑定和事件绑定
前面操作的都是静态数据,本节开始模拟后端数据,uni-app 渲染后端数据的方式和 Vue 渲染后端数据的方式一模一样,代码如下。
M 层代码如下。
export default {
data() {
return {
title: 'Hello'
}
},
onLoad() {
},
methods: {
}
}
视图层代码如下。
<template>
<view class="content">
{{ title }}
</view>
</template>
代码解析如下。
视图层 uni-app 和 Vue 一样,使用插值表达式渲染 data 中的数据。
属性绑定
元素数据的绑定不能直接使用插值表达式,例如绑定元素的 title 属性、图片的 src 属性等,要使用 v-bind 进行属性绑定,代码如下。
M 层代码如下。
export default {
data() {
return {
imgPath: '../../static/logo.png'
}
},
onLoad() {
},
methods: {
}
}
视图层代码如下。
<view class="content">
<image :src="imgPath" mode="widthFix"></image>
</view>
代码解析如下。
-
元素中添加属性需要使用 v-bind 绑定,简写成 “:”。
-
使用图片要添加 mode="widthFix"。
事件绑定
事件绑定 uni-app 和 Vue 也是一模一样的,可以把事件绑定在 button 按钮、view 组件、image 组件等,例如实现单击图片时控制台输出 title 内容。
视图层代码如下。
<view class="content">
<image :src="imgPath" mode="widthFix" @click="getData"></image>
</view>
M 层代码如下。
export default {
data() {
return {
title: 'hello',
imgPath: '../../static/logo.png'
}
},
onLoad() {
},
methods: {
getData() {
console.log(this.title)
}
}
}
代码解析如下。
在 methods 中定义方法,如果要调用 data 中的数据,需要使用 this 获取。