问:
<td><input type="radio" v-model="checkout" @change="getDateFn" :data-type="item.articleType" :data-channelName="item.channelName" :data-channelId="item.channelId" :data-title="item.title" :data-sourceCategoryId="item.sourceCategoryId" :data-code="item.oneline_news_code" :value="item.id || item.articleId"/> </td>
data字段:
sourceCategoryId: '' // 这个值代表mini类型下 财新闻类型文章
// 单选按钮逻辑
if (this.channelId === '378' || this.channelId === '217' || this.channelId === '426') {
// this.alertTypeOne = 0 // 单选按钮选择 是
if (this.sourceCategoryId == 101862930) {
this.alertTypeOne= 1 // 单选按钮选择 否
} else {
this.alertTypeOne = 0 // 单选按钮选择 是
}
} else {
this.alertTypeOne= 1 // 单选按钮选择 否
}
怎么将代码简化?
回答:
你可以简化这段逻辑代码如下:
if (['378', '217', '426'].includes(this.channelId)) {
this.alertTypeOne = (this.sourceCategoryId == 101862930) ? 1 : 0;
} else {
this.alertTypeOne = 1;
}
这里用了 `Array.prototype.includes` 方法来检查 `this.channelId` 是否包含在指定的频道ID数组中。然后根据 `this.sourceCategoryId` 的值来设置 `this.alertTypeOne` 的值。