wxml <view class="card {{isExpired ? 'expired' : ''}}"> <!-- 卡片内容 --> </view>报错说我没有expired.js正常吗
时间: 2024-03-18 18:45:47 浏览: 134
这个错误提示可能是因为在`class`属性中使用了一个变量`isExpired`,但是这个变量的值为`undefined`或者不是一个布尔类型,导致模板引擎在渲染`class`属性时出错。
需要检查一下你的页面逻辑,确保变量`isExpired`的值为布尔类型(true/false),并且已经正确定义和赋值。如果变量`isExpired`是在页面的`js`文件中定义的,需要确保它已经被正确导入到了该页面的`wxml`文件中。
此外,模板引擎在渲染`class`属性时,会将`isExpired`变量的值转换为字符串类型。如果`isExpired`变量的值为`true`,则会将`expired`字符串添加到`class`属性中;如果`isExpired`变量的值为`false`或`undefined`,则不会添加任何字符串到`class`属性中,即`class`属性的值为空字符串。
最后,需要确认你的代码中没有涉及到`expired.js`这个文件,因为该文件与上述错误提示没有任何关系。
相关问题
<!--index.wxml--> <view class="top-box"> <view>Hi</view> <view class="next-text">欢迎使用!</view> </view> <!-- 登录、注册 --> <view class="center-box"> <view class="nav"> <view class="left {{current==1?'select':''}}" bindtap="click" data-code="1"> <text>登录</text> </view> <view class="right {{current==0?'select':''}}" bindtap="click" > <text>注册</text> </view> </view> <!-- 登录 --> <view class="input-box" hidden="{{current==0}}"> <view class="wei-input"> <icon type="waiting" color="#44ADFB" size="16"></icon> <input class="input" auto-focus placeholder="请输入手机号/登录名"/> </view> <view class="wei-input"> <icon type="success" color="#44ADFB" size="16"></icon> <input class="input" auto-focus placeholder="请输入登录密码"/> </view> <view class="forget"> <text>忘记密码?</text> </view> </view> <!-- 注册 --> <view class="input-box" hidden="{{current==1}}"> <view class="wei-input"> <icon type="waiting" color="#44ADFB" size="16"></icon> <input class="input" auto-focus placeholder="请输入手机号"/> </view> <view class="wei-input"> <icon type="waiting" color="#44ADFB" size="16"></icon> <input class="input" auto-focus placeholder="请输入6位验证码"/> <text class="input-code" bindtap="getCode">{{codeText}}</text> </view> <view class="wei-input"> <icon type="success" color="#44ADFB" size="16"></icon> <input class="input" auto-focus placeholder="请输入密码"/> </view> <view class="wei-input"> <icon type="success" color="#44ADFB" size="16"></icon> <input class="input" auto-focus placeholder="请确认密码"/> </view> </view> <view class="sumbit-btn"> <button class="button" style="background-color: #33ccff;font-size: 30rpx;" type="primary">立即{{current==1?'登录':'注册'}}</button> </view> </view> <!-- 重影 --> <view class="shadow shadow-1"></view><view class="shadow shadow-2"></view> <!-- 说明 -->这段代码怎么实现注册页面和登陆页面的切换,如果不能,给出解决代码
这段代码是一个小程序的页面布局代码,其中使用了一个变量 current 来控制显示登录还是注册页面。具体的实现逻辑是,当 current 为 0 时显示注册页面,为 1 时显示登录页面。同时,通过绑定 click 事件来切换页面。
以下是完整的代码实现:
<!--index.wxml-->
<view class="top-box">
<view>Hi</view>
<view class="next-text">欢迎使用!</view>
</view>
<!-- 登录、注册 -->
<view class="center-box">
<view class="nav">
<view class="left {{current==1?'select':''}}" bindtap="click" data-code="1">
<text>登录</text>
</view>
<view class="right {{current==0?'select':''}}" bindtap="click" data-code="0">
<text>注册</text>
</view>
</view>
<!-- 登录 -->
<view class="input-box" hidden="{{current==0}}">
<view class="wei-input">
<icon type="waiting" color="#44ADFB" size="16"></icon>
<input class="input" auto-focus placeholder="请输入手机号/登录名"/>
</view>
<view class="wei-input">
<icon type="success" color="#44ADFB" size="16"></icon>
<input class="input" auto-focus placeholder="请输入登录密码"/>
</view>
<view class="forget">
<text>忘记密码?</text>
</view>
</view>
<!-- 注册 -->
<view class="input-box" hidden="{{current==1}}">
<view class="wei-input">
<icon type="waiting" color="#44ADFB" size="16"></icon>
<input class="input" auto-focus placeholder="请输入手机号"/>
</view>
<view class="wei-input">
<icon type="waiting" color="#44ADFB" size="16"></icon>
<<input class="input" auto-focus placeholder="请输入6位验证码"/>
<text class="input-code" bindtap="getCode">{{codeText}}</text>
</view>
<view class="wei-input">
<icon type="success" color="#44ADFB" size="16"></icon>
<input class="input" auto-focus placeholder="请输入密码"/>
</view>
<view class="wei-input">
<icon type="success" color="#44ADFB" size="16"></icon>
<<input class="input" auto-focus placeholder="请确认密码"/>
</view>
</view>
<view class="sumbit-btn">
<button class="button" style="background-color: #33ccff;font-size: 30rpx;" type="primary">立即{{current==1?'登录':'注册'}}</button>
</view>
</view>
<!-- 重影 -->
<view class="shadow shadow-1"></view>
<view class="shadow shadow-2"></view>
<!-- 说明 -->
<!-- js代码 -->
<script>
Page({
data: {
current: 0, // 当前显示的页面,0为注册,1为登录
codeText: '获取验证码',
},
click: function(e) {
this.setData({
current: e.target.dataset.code
})
},
getCode: function() {
// 获取验证码的逻辑
}
})
</script>
<view class='title'> {{productInfo.name}} </view> <!-- 其他介绍 --> <view class='ping'>暂无评价</view> <!-- 商品详情 --> <view class='product_detail'> <view class='detail'>商品详情</view> <view class='wrapper'> <image src='{{productInfo.pic}}' class='img'></image> <view class='text'> {{productInfo.description}} <view>{{productInfo.details}}</view> </view> </view> </view> <!-- 底部购买 --> <view class='shop_bottom'> <view class='juli'> <image src='../../images/tab9.png' class='shop' bindtap='goShoping'></image> <text></text> </view> <view class='add_cart' bindtap='addShop'>加入购物车</view> <view class='buy_now' bindtap='buyNow'>立即购买</view> </view>帮我写优化这个代码并且写一个wxss美化
下面是优化后的代码,并且加入了一些wxss美化效果:
wxml代码:
```html
<view class="product">
<view class="product__header">{{productInfo.name}}</view>
<view class="product__rating">暂无评价</view>
<view class="product__details">
<view class="details__header">商品详情</view>
<view class="details__content">
<image src="{{productInfo.pic}}" class="details__image"></image>
<view class="details__text">
{{productInfo.description}}
<view>{{productInfo.details}}</view>
</view>
</view>
</view>
<view class="product__footer">
<view class="footer__button" bindtap="addShop">加入购物车</view>
<view class="footer__button" bindtap="buyNow">立即购买</view>
</view>
</view>
```
wxss代码:
```css
.product {
font-size: 28rpx;
color: #333;
margin: 20rpx;
}
.product__header {
font-size: 34rpx;
font-weight: bold;
margin-bottom: 20rpx;
}
.product__rating {
color: #999;
margin-bottom: 20rpx;
}
.product__details {
margin-bottom: 20rpx;
}
.details__header {
font-size: 30rpx;
font-weight: bold;
margin-bottom: 10rpx;
}
.details__content {
display: flex;
flex-direction: row;
}
.details__image {
width: 300rpx;
height: 300rpx;
margin-right: 20rpx;
}
.details__text {
flex: 1;
line-height: 1.5;
}
.product__footer {
display: flex;
flex-direction: row;
}
.footer__button {
flex: 1;
font-size: 32rpx;
font-weight: bold;
color: #fff;
background-color: #f00;
text-align: center;
padding: 20rpx;
margin-right: 10rpx;
border-radius: 10rpx;
}
.footer__button:last-child {
margin-right: 0;
}
```
注:以上代码仅供参考,具体的样式和布局需要根据实际情况进行调整。
阅读全文