0
点赞
收藏
分享

微信扫一扫

在html页面显示一个变量,而这个变量中有xss脚本,如何安全的把这个变量原样展示出来

千行 2024-12-02 阅读 17

====================
快速跳转:
我的个人博客主页👉:Reuuse博客
新开专栏👉:Vue3专栏
参考文献👉:uniapp官网
免费图标👉:阿里巴巴矢量图标库
❀ 感谢支持!☀
==================

前情提要

🔺从现在开始呢,我们就要开始真正的实现一个完整的项目了!❀❀❀
⭐在实现项目的过程中,会将一些比较重要的点进行讲解,确保基础薄弱的宝子们都能够理解!本次博客的开始也算是为了一边学一边做项目❗
那么话不多说我们开始吧在这里插入图片描述


vue

在这里插入图片描述


引言

在uni-app开发中,项目结构的合理设计对于应用的可维护性和扩展性至关重要。本文将通过分析pages.json配置和classify.vue组件的源代码,详细解析uni-app的项目结构和页面布局


一、pages.json配置

  1. tabBar定义tabBar对象用于定义应用的底部导航栏。
  2. 颜色配置colorselectedColor属性定义了导航栏图标的默认和选中状态颜色。
  3. 导航项列表list数组定义了导航栏中的每个导航项。
  4. 导航项属性
    • text:导航项显示的文本。
    • pagePath:导航项对应的页面路径。
    • iconPath:导航项未选中时的图标路径。
    • selectedIconPath:导航项选中时的图标路径。
示例:
"tabBar": {
  "color": "#9799a5",
  "selectedColor": "#28b389",
  "list": [
    {
      "text": "推荐",
      "pagePath": "pages/index/index",
      "iconPath": "static/image/tabBar/home.png",
      "selectedIconPath": "static/image/tabBar/home-h.png"
    }
  ]
}

二、classify.vue组件

  1. 模板结构<template>标签定义了组件的HTML结构。
  2. 视图容器<view>标签用于页面布局,类似于HTML中的<div>
  3. 循环渲染v-for="item in 15"指令用于循环渲染15个<theme-item>组件。
  4. 组件化<theme-item>可能是一个自定义组件,用于展示分类项。
示例:
<template>
  <view class="classLayout">
    <view class="classify">
      <theme-item v-for="item in 15"></theme-item>
    </view>
  </view>
</template>

三、样式设计

  1. 内边距padding属性用于设置元素的内边距。
  2. CSS Grid布局display: grid;grid-template-columns用于创建网格布局。
  3. 网格列定义repeat(3,1fr)表示创建三列等宽的网格。
  4. 网格间隔gap属性用于设置网格项之间的间隔。
  5. 响应式单位rpx单位用于实现响应式布局。
示例:
<style lang="scss" scoped> 
.classify{
padding: 30rpx;
display: grid;
grid-template-columns: repeat(3,1fr);
gap:15rpx;
}
</style>

四、项目结构理解

  1. 页面配置pages.json是uni-app项目的页面配置文件。
  2. 页面路径pagePath属性指定了页面的路径,用于页面导航。
  3. 资源管理iconPathselectedIconPath指定了静态资源的路径。

五、性能优化

  1. 按需加载:uni-app支持按需加载页面,减少初始加载时间。
  2. 条件渲染:合理使用v-ifv-show指令控制元素的渲染。

六、用户体验

  1. 导航栏设计:清晰的导航栏设计提升用户导航体验。
  2. 视觉反馈:通过颜色变化和图标提供视觉反馈。

总结

通过本文的详细解析,我们深入了解了uni-app中pages.json配置和classify.vue组件的实现过程,包括项目结构、组件化开发、样式设计、性能优化和用户体验等多个方面。每个知识点都通过生动的例子进行了解释


附录:代码注释

// pages.json配置文件,定义了应用的页面和底部导航栏
"tabBar": {
  "color": "#9799a5",
  "selectedColor": "#28b389",
  "list": [
    {
      "text": "推荐",
      "pagePath": "pages/index/index",
      "iconPath": "static/image/tabBar/home.png",
      "selectedIconPath": "static/image/tabBar/home-h.png"
    }
  ]
}
<!-- classify.vue组件模板,用于展示分类页面 -->
<template>
  <view class="classLayout">
    <view class="classify">
      <theme-item v-for="item in 15"></theme-item>
    </view>
  </view>
</template>
// classify.vue组件样式,使用CSS Grid布局展示分类项
<style lang="scss" scoped>
.classify{
padding: 30rpx;
display: grid;
grid-template-columns: repeat(3,1fr);
gap:15rpx;
}
</style>

请注意,<theme-item>组件需要在项目中定义,或者作为第三方组件引入。此外,pages.json中的pagePath应确保路径正确,以便正确导航到对应的页面。


🌼那么今天就到这里吧!
▲后续会陆续跟新vue系列。再后来会逐渐成熟,向大家展现更简洁明了的知识汇总!

一个小小的赞是对我最大的鼓励!
感谢你们看到这里,下次见~
在这里插入图片描述

举报

相关推荐

0 条评论