React styled-components (一) —— 基本使用

https://github.com/styled-components/styled-components

styled-components 基本使用

  • 介绍
    • 优点
    • 缺点
  • 安装
  • 引入
  • 使用
    • 基本用法
    • 样式嵌套

介绍

styled-components 是一个针对 Reactcss in js 类库。

和所有同类型的类库一样,styled-components 通过 js 赋能解决了原生 css 所不具备的能力,比如变量、循环、函数等。解决了 css 全局命名空间,避免样式冲突的问题,维护起来更加方便。

优点

  • 贯彻 Reacteverything in JS 理念,降低 jscss 文件的依赖
  • 保留前端开发 CSS 书写习惯,无学习和迁移成本
  • 使用方便,不需要配置 webpack,开箱即用
  • 为样式生成唯一的类名,不用再担心样式命名的问题,移除样式与组件之间的对应关系
  • 样式可以使用变量,更加灵活
  • 组件的逻辑、生命周期、样式、结构完全和其它组件解耦,对组件维护很有帮助

缺点

可读性差,不方便直接看出组件的 html 元素。

安装

npm install styled-components 或
cnpm install styled-components 或
yarn add styled-components

安装完成之后,package.json

{
  "dependencies": {
    "antd": "^4.16.10",
    "axios": "^0.21.1",
    "less": "^4.1.1",
    "less-loader": "4.0.1",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-router-dom": "^5.2.0",
    "react-scripts": "4.0.3",
    "styled-components": "5.3.9",
}

引入

import styled from "styled-components"

使用

基本用法

新建 Demo.js 文件:

import React, { Component } from 'react'
import styled from 'styled-components';
// Create a  react component that renders an <h1> which is</span>
<span class="token comment">// centered, palevioletred and sized at 1.5em</span>
<span class="token keyword">const</span> Title <span class="token operator">=</span> styled<span class="token punctuation">.</span>h1<span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">
  font-size: 1.5em;
  text-align: center;
  color: palevioletred;
</span><span class="token template-punctuation string">`</span></span><span class="token punctuation">;</span>

<span class="token comment">// Create a <Wrapper> react component that renders a <section> with</span>
<span class="token comment">// some padding and a papayawhip background</span>
<span class="token keyword">const</span> ContextBox <span class="token operator">=</span> styled<span class="token punctuation">.</span>div<span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">
    width: 800px;
    height: 200px;
    background: orange;
    margin: 0 auto;
</span><span class="token template-punctuation string">`</span></span>
<span class="token keyword">class</span> <span class="token class-name">Home</span> <span class="token keyword">extends</span> <span class="token class-name">Component</span> <span class="token punctuation">{</span>
  <span class="token function">render</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">return</span> <span class="token punctuation">(</span>
      <span class="token operator"><</span>div<span class="token operator">></span>
        <span class="token operator"><</span>ContextBox<span class="token operator">></span>
          <span class="token operator"><</span>Title<span class="token operator">></span>Hello World<span class="token punctuation">,</span> <span class="token keyword">this</span> is my first styled component<span class="token operator">!</span><span class="token operator"><</span><span class="token operator">/</span>Title<span class="token operator">></span>
        <span class="token operator"><</span><span class="token operator">/</span>ContextBox<span class="token operator">></span>
      <span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span>
    <span class="token punctuation">)</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">export</span> <span class="token keyword">default</span> Home
</code></pre> 
  <p>上面例子,<code>styled.div 和 styled.h1</code> 是一个函数,可以进行调用。</p> 
  <p><strong>注意组件首字母必须大写不然无法识别。</strong></p> 
  <p>在 <code>App.js</code> 中引入 <code>Demo.js</code> 文件:</p> 
  <pre><code class="prism language-javascript"><span class="token comment">// import logo from './assets/images/logo.svg';</span>
<span class="token keyword">import</span> <span class="token string">'./assets/css/App.css'</span><span class="token punctuation">;</span>
<span class="token keyword">import</span> Demo <span class="token keyword">from</span> <span class="token string">'./components/Demo'</span>

<span class="token keyword">function</span> <span class="token function">App</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  <span class="token keyword">return</span> <span class="token punctuation">(</span>
    <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token string">"App"</span><span class="token operator">></span>
      <span class="token operator"><</span>header className<span class="token operator">=</span><span class="token string">"App-header"</span><span class="token operator">></span>
        <span class="token punctuation">{</span><span class="token comment">/* <img src={logo} className="App-logo" alt="logo" /> */</span><span class="token punctuation">}</span>
        <span class="token operator"><</span>p<span class="token operator">></span>
          文字 <span class="token operator"><</span>code<span class="token operator">></span>src<span class="token operator">/</span>App<span class="token punctuation">.</span>js<span class="token operator"><</span><span class="token operator">/</span>code<span class="token operator">></span> Hello World<span class="token operator">!</span><span class="token punctuation">.</span>
        <span class="token operator"><</span><span class="token operator">/</span>p<span class="token operator">></span>
        <span class="token operator"><</span>a
          className<span class="token operator">=</span><span class="token string">"App-link"</span>
          href<span class="token operator">=</span><span class="token string">"https://reactjs.org"</span>
          target<span class="token operator">=</span><span class="token string">"_blank"</span>
          rel<span class="token operator">=</span><span class="token string">"noopener noreferrer"</span>
        <span class="token operator">></span>
          <span class="token literal-property property">https</span><span class="token operator">:</span><span class="token operator">/</span><span class="token operator">/</span>reactjs<span class="token punctuation">.</span>org
        <span class="token operator"><</span><span class="token operator">/</span>a<span class="token operator">></span>
      <span class="token operator"><</span><span class="token operator">/</span>header<span class="token operator">></span>
      <span class="token operator"><</span>Demo <span class="token operator">/</span><span class="token operator">></span>
    <span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span>
  <span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token keyword">export</span> <span class="token keyword">default</span> App<span class="token punctuation">;</span>
</code></pre> 
  <p>页面效果:<br> <a href="http://img.e-com-net.com/image/info8/2e2752c075aa45cdb5be62008e890430.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/2e2752c075aa45cdb5be62008e890430.jpg" alt="React styled-components (一) —— 基本使用_第1张图片" width="650" height="177" style="border:1px solid black;"></a></p> 
  <p><code>styled-components</code> 的本质是通过函数的调用,最终创建出一个组件:</p> 
  <ul> 
   <li>这个组件会被自动添加上一个不重复的 <code>class</code>;</li> 
   <li><code>styled-components</code> 会给该 <code>class</code> 添加相关的样式。</li> 
  </ul> 
  <p>如下图:<br> <a href="http://img.e-com-net.com/image/info8/217e8e1d28f742c7975160eedac1b30b.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/217e8e1d28f742c7975160eedac1b30b.jpg" alt="React styled-components (一) —— 基本使用_第2张图片" width="650" height="129" style="border:1px solid black;"></a></p> 
  <h2>样式嵌套</h2> 
  <p><code>styled-components</code> 还支持类似于less、scss等css预处理器一样的样式嵌套:</p> 
  <ul> 
   <li>支持直接子代选择器或后代选择器,并且 直接编写样式;</li> 
   <li>可以通过&符号获取当前元素;</li> 
   <li>直接伪类选择器、伪元素等。</li> 
  </ul> 
  <p>修改 <code>Demo.js</code> 文件:</p> 
  <pre><code class="prism language-javascript"><span class="token keyword">import</span> React<span class="token punctuation">,</span> <span class="token punctuation">{</span> Component <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'react'</span>
<span class="token keyword">import</span> styled <span class="token keyword">from</span> <span class="token string">'styled-components'</span><span class="token punctuation">;</span>
<span class="token comment">// Create a <Title> react component that renders an <h1> which is</span>
<span class="token comment">// centered, palevioletred and sized at 1.5em</span>
<span class="token keyword">const</span> Title <span class="token operator">=</span> styled<span class="token punctuation">.</span>h1<span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">
  font-size: 1.5em;
  text-align: center;
  color: palevioletred;
</span><span class="token template-punctuation string">`</span></span><span class="token punctuation">;</span>

<span class="token comment">// Create a <Wrapper> react component that renders a <section> with</span>
<span class="token comment">// some padding and a papayawhip background</span>
<span class="token keyword">const</span> ContextBox <span class="token operator">=</span> styled<span class="token punctuation">.</span>div<span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">
    width: 800px;
    height: 200px;
    margin: 0 auto;
    background: orange;
    .banner {
      background: grey;  
      p {
        font-size: 24px;
        color: #fff;
        text-align: center;
        &::after {
          display: block;
          content: "hello world";
          font-size: 30px;
        }      
      }
      span {
        color:red;
        &.active {
          color: red;
        }
        &:hover {
          color: green;
        }
        &::after {
          content: 'aaa';
        }
      }  
    }
</span><span class="token template-punctuation string">`</span></span>
<span class="token keyword">class</span> <span class="token class-name">Home</span> <span class="token keyword">extends</span> <span class="token class-name">Component</span> <span class="token punctuation">{</span>
  <span class="token function">render</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">return</span> <span class="token punctuation">(</span>
      <span class="token operator"><</span>div<span class="token operator">></span>
        <span class="token operator"><</span>ContextBox<span class="token operator">></span>
          <span class="token operator"><</span>Title<span class="token operator">></span>Hello World<span class="token punctuation">,</span> <span class="token keyword">this</span> is my first styled component<span class="token operator">!</span><span class="token operator"><</span><span class="token operator">/</span>Title<span class="token operator">></span>
          <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token string">'banner'</span><span class="token operator">></span>
            <span class="token operator"><</span>p<span class="token operator">></span>This is p<span class="token operator">!</span><span class="token operator"><</span><span class="token operator">/</span>p<span class="token operator">></span>
            <span class="token operator"><</span>span<span class="token operator">></span><span class="token number">11111111111</span><span class="token operator"><</span><span class="token operator">/</span>span<span class="token operator">></span>
            <span class="token operator"><</span>span<span class="token operator">></span><span class="token number">22222222222</span><span class="token operator"><</span><span class="token operator">/</span>span<span class="token operator">></span>
            <span class="token operator"><</span>span<span class="token operator">></span><span class="token number">33333333333</span><span class="token operator"><</span><span class="token operator">/</span>span<span class="token operator">></span>
          <span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span>
        <span class="token operator"><</span><span class="token operator">/</span>ContextBox<span class="token operator">></span>
      <span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span>
    <span class="token punctuation">)</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">export</span> <span class="token keyword">default</span> Home
</code></pre> 
  <p>页面效果:<br> <a href="http://img.e-com-net.com/image/info8/7cebb6fa6d45400eac5a411c381ab4a4.gif" target="_blank"><img src="http://img.e-com-net.com/image/info8/7cebb6fa6d45400eac5a411c381ab4a4.gif" alt="React styled-components (一) —— 基本使用_第3张图片" width="985" height="364" style="border:1px solid black;"></a></p> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1646969502723772416"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(#,React,前端)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1891475667967602688.htm"
                           title="从零开始:Django + MySQL + Vue 打造在线Demo下载平台" target="_blank">从零开始:Django + MySQL + Vue 打造在线Demo下载平台</a>
                        <span class="text-muted">阮懿同</span>

                        <div>从零开始:Django+MySQL+Vue打造在线Demo下载平台【下载地址】DjangoMySQLVue从零开始打造在线Demo下载平台Django+MySQL+Vue从零开始打造在线Demo下载平台本仓库提供了一套完整的前后端实战项目源码,带你全面学习和掌握在Django后端框架和Vue前端框架下,如何协作开发并部署一个功能完备的在线Demo下载网站项目地址:https://gitcode.c</div>
                    </li>
                    <li><a href="/article/1891464067789418496.htm"
                           title="干货:DeepSeek+SpringAI实现流式对话!" target="_blank">干货:DeepSeek+SpringAI实现流式对话!</a>
                        <span class="text-muted">液态不合群</span>
<a class="tag" taget="_blank" href="/search/deepseek/1.htm">deepseek</a>
                        <div>前面一篇文章我们实现了《炸裂:SpringAI内置DeepSeek啦!》,但是大模型的响应速度通常是很慢的,为了避免用户用户能够耐心等待输出的结果,我们通常会使用流式输出一点点将结果输出给用户。那么问题来了,想要实现流式结果输出,后端和前端要如何配合?后端要使用什么技术实现流式输出呢?接下来本文给出具体的实现代码,先看最终实现效果:解决方案在SpringBoot中实现流式输出可以使用Sse(Ser</div>
                    </li>
                    <li><a href="/article/1891447419208527872.htm"
                           title="html如何使多张图片滑动不卡顿,Web端大量图片同时加载卡顿问题的优化方案" target="_blank">html如何使多张图片滑动不卡顿,Web端大量图片同时加载卡顿问题的优化方案</a>
                        <span class="text-muted">kisserkook</span>

                        <div>案例由于业务的需要,需求方需要实现一个大量图片同时加载的需求。在实现这个需求的过程中,可能会遇到很多的坑,这里小编也总结了一些优化方案,我们可以一起来看看。具体场景在描述如何解决问题,我们现在先来申明,问题是什么?需求的主要内容是在某个页面显示1~1000张,200~500k大小的图。好消息是这些图片来源于本地硬盘而非网络。(否则这个问题就要变成优化网络....)踩坑历程由于不是纯前端的项目,笔者</div>
                    </li>
                    <li><a href="/article/1891446912041676800.htm"
                           title="react 常用" target="_blank">react 常用</a>
                        <span class="text-muted">知其黑、受其白</span>
<a class="tag" taget="_blank" href="/search/React/1.htm">React</a><a class="tag" taget="_blank" href="/search/Hooks%2BLaravel/1.htm">Hooks+Laravel</a><a class="tag" taget="_blank" href="/search/%E5%88%B6%E4%BD%9C%E5%8D%9A%E5%AE%A2/1.htm">制作博客</a><a class="tag" taget="_blank" href="/search/react.js/1.htm">react.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>阅读目录安装脚手架工具create-react-app查看react-router-dom所有版本查看react所有版本指定版本安装react-router-dom安装脚手架工具create-react-appnpminstall-gcreate-react-appcreate-react-app是React官方出的脚手架工具,其实有很多第三方的脚手架工具,也有很多优秀的。但是作为初学者为了减少踩</div>
                    </li>
                    <li><a href="/article/1891444013068775424.htm"
                           title="计算机学习建议" target="_blank">计算机学习建议</a>
                        <span class="text-muted">qincjun</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a>
                        <div>对于现代得计算机开发者而言;最快的是要见到成效;这是一个功利性的社会;对于99%的人来说,先保证自己可以在社会上活下去才是最重要的;而不是追求梦想;一、职业Web前端:HTML、CSS、JavaScript、Vue3框架、React框架等;客户端:C#后端:(C语言、C++)或者Java数据库:MySQL之类的数据库操作;算法工程师:算法相关书籍;架构师:Linux相关;并做过前后端请一定要想好去</div>
                    </li>
                    <li><a href="/article/1891433917383241728.htm"
                           title="RK3588+昇腾AI|40TOPS算力AI盒子设计方案" target="_blank">RK3588+昇腾AI|40TOPS算力AI盒子设计方案</a>
                        <span class="text-muted">ARM+FPGA+AI工业主板定制专家</span>
<a class="tag" taget="_blank" href="/search/AI%E7%9B%92%E5%AD%90/1.htm">AI盒子</a><a class="tag" taget="_blank" href="/search/%E7%91%9E%E8%8A%AF%E5%BE%AE/1.htm">瑞芯微</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>综合视频智能AI分析系统介绍以计算机视觉技术为基础,AI赋能千行百业,依托人工智能视觉分析技术以及强大的“端+边”算力支撑,实时分析烟火,入侵等事件,同时结合云上预警业务平台,实现事件发现、预警、处置全流程闭环。设计架构系统架构视频智能识别系统自下而上分为“感知层、网络层、支撑层、应用层”四层,系统逻辑架构如下图所示:感知层对接前端感知设备,如视频监控、NVR、和其他物联感知设备,对重要通道和场所</div>
                    </li>
                    <li><a href="/article/1891431396069666816.htm"
                           title="前端优化可以从哪些方面下手及优化方案" target="_blank">前端优化可以从哪些方面下手及优化方案</a>
                        <span class="text-muted">光影少年</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a>
                        <div>前端优化是提升网页性能、提升用户体验和降低服务器负担的重要手段。可以从多个角度入手,以下是一些常见的优化方向和方案:1.性能优化减少请求数量:尽量减少页面加载时发起的HTTP请求,例如使用合并文件(CSS和JS)、减少图片的请求。使用懒加载(LazyLoading):对于图片、视频或组件,可以采用懒加载的方式,只有当用户需要时才加载。代码拆分(CodeSplitting):使用Webpack或类似</div>
                    </li>
                    <li><a href="/article/1891431016753590272.htm"
                           title="用vue3写一个好看的wiki前端页面" target="_blank">用vue3写一个好看的wiki前端页面</a>
                        <span class="text-muted">云浩舟</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>以下是一个使用Vue3+ElementPlus实现的Wiki风格前端页面示例,包含现代设计、响应式布局和常用功能:TechWiki开发文档快速开始API参考部署指南数据分析数据规范可视化指南{{currentDoc.title}}草稿import{ref,reactive,computed}from'vue'import{marked}from'marked'importDOMPurifyfrom</div>
                    </li>
                    <li><a href="/article/1891419025662078976.htm"
                           title="swagger使用指引" target="_blank">swagger使用指引</a>
                        <span class="text-muted">MA_Y_</span>
<a class="tag" taget="_blank" href="/search/swagger/1.htm">swagger</a>
                        <div>1.swagger介绍在前后端分离开发中通常由后端程序员设计接口,完成后需要编写接口文档,最后将文档交给前端工程师,前端工程师参考文档进行开发。可以通过一些工具快速生成接口文档,本项目通过Swagger生成接口在线文档。什么是Swagger?OpenAPI规范(OpenAPISpecification简称OAS)是Linux基金会的一个项目,试图通过定义一种用来描述API格式或API定义的语言,来</div>
                    </li>
                    <li><a href="/article/1891418268934139904.htm"
                           title="前端面试题常考汇总1" target="_blank">前端面试题常考汇总1</a>
                        <span class="text-muted">RayFars</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>JS部分1.解释JavaScript中的闭包,并举例说明其应用场景闭包是指函数能够记住并访问它的词法作用域,即使这个函数在词法作用域之外执行。应用场景:数据隐藏:通过闭包,可以创建私有变量,只通过特定的函数来访问和修改这些变量。回调函数和事件处理:闭包常用于设置回调函数,因为回调函数需要访问其外部函数的变量。functioncreateCounter(){letcount=0;returnfunc</div>
                    </li>
                    <li><a href="/article/1891407802275000320.htm"
                           title="前端知识速记--css篇:CSS3中的常见动画及实现方式" target="_blank">前端知识速记--css篇:CSS3中的常见动画及实现方式</a>
                        <span class="text-muted">无限大.</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E7%9F%A5%E8%AF%86%E9%80%9F%E8%AE%B0/1.htm">前端知识速记</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/css3/1.htm">css3</a>
                        <div>前端知识速记–css篇:CSS3中的常见动画及实现方式常见的CSS3动画1.过渡(Transitions)过渡是一种非常简单的动画效果,允许你在元素的状态变更时平滑过渡到新状态。语法格式:transition:propertydurationtiming-functiondelay;property:指定要过渡的CSS属性,例如background-color。duration:过渡的持续时间,例</div>
                    </li>
                    <li><a href="/article/1891390896830738432.htm"
                           title="React 中props和state的区别" target="_blank">React 中props和state的区别</a>
                        <span class="text-muted">黑马嘎</span>
<a class="tag" taget="_blank" href="/search/react.js/1.htm">react.js</a>
                        <div>文章目录前言一、props用法二、给props设置一个默认值三、State和Props两者的区别总结前言state和props主要的区别在于props是不可变的,而state可以根据与用户交互来改变。这就是为什么有些容器组件需要定义state来更新和修改数据。而子组件只能通过props来传递数据。一、props用法classMyComponentextendsReact.Component{//此</div>
                    </li>
                    <li><a href="/article/1891378788462292992.htm"
                           title="React中React.PureComponent和React.Component有什么区别?" target="_blank">React中React.PureComponent和React.Component有什么区别?</a>
                        <span class="text-muted">小新-alive</span>
<a class="tag" taget="_blank" href="/search/react.js/1.htm">react.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>React中React.PureComponent和React.Component有什么区别?1.React.Component2.React.PureComponent3.React.PureComponent和React.Component的区别在React中,React.Component和React.PureComponent都是用来创建组件的基类。它们之间的主要区别在于它们对待组件状态和</div>
                    </li>
                    <li><a href="/article/1891378788932055040.htm"
                           title="vite和react有什么区别?" target="_blank">vite和react有什么区别?</a>
                        <span class="text-muted">因上精进,果上随缘</span>
<a class="tag" taget="_blank" href="/search/Javascript/1.htm">Javascript</a><a class="tag" taget="_blank" href="/search/react.js/1.htm">react.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>Vite和React在功能和定位上有明显的区别。Vite是一个基于浏览器原生ESimports的开发服务器和构建工具,旨在弥合当前和下一代Web开发之间的差距。它专注于为开发人员和现代Web项目提供更快、更高性能的体验。Vite的主要特性包括快速的冷启动、及时的热模块更新和真正的按需加载。它使用原生ESM作为模块系统,利用浏览器对ESM的支持,在开发时无需打包,从而实现了极速的启动速度和热模块替换</div>
                    </li>
                    <li><a href="/article/1891360490878201856.htm"
                           title="本地部署model scope魔搭大模型流程" target="_blank">本地部署model scope魔搭大模型流程</a>
                        <span class="text-muted">CQller</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/jupyter/1.htm">jupyter</a><a class="tag" taget="_blank" href="/search/pytorch/1.htm">pytorch</a>
                        <div>一、安装python二、安装Gradio三、添加镜像加速四、运行字符串倒叙五、运行绘图六、安装常用软件包和库七、我目前使用的软件包和库简介八、文字生成图片AI模型九、文字回复AI模型一、安装python可参考安装步骤:python学习笔记-python安装与环境变量配置_python环境变量-CSDN博客二、安装Gradio在cmd执行以下命令。Gradio封装了功能丰富的前端用户界面,一会儿用来</div>
                    </li>
                    <li><a href="/article/1891353060706414592.htm"
                           title="springboot项目配置https" target="_blank">springboot项目配置https</a>
                        <span class="text-muted">愿企鹅飞(。ò ∀ ó。)</span>
<a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/jar/1.htm">jar</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a>
                        <div>1,必须去服务商购买一个ssl证书。2,以我想的是这个域名的8080端口当前端,8070当后端,3,前端配置简单直接去下载nginx证书把里面的key和证书粘到对应位置即可(用宝塔简单)4.springboot后端服务(下载Tomcat证书)按照这个方法https://blog.csdn.net/baidu_37302589/article/details/100692957配置端口配置成我需要的</div>
                    </li>
                    <li><a href="/article/1891350284202995712.htm"
                           title="java web 项目中封装的下拉列表小组件:实现下拉列表使用者前后端0行代码 ..." target="_blank">java web 项目中封装的下拉列表小组件:实现下拉列表使用者前后端0行代码 ...</a>
                        <span class="text-muted">weixin_34383618</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/ViewUI/1.htm">ViewUI</a>
                        <div>导读:主要从4个方面来阐述,1:背景;2:思路;3:代码实现;4:使用一:封装背景像easyui之类的纯前端组件,也有下拉列表组件,但是使用的时候,每个下拉列表,要配一个URL,以及设置URL反回来的值和select的text,和value的对应关系,这有2个问题:一使用者必须知道URL,二,如果页面有10个下拉表表,要请求后台10次,肯定影响性能,而我想要的是使用者只要申明用哪个数据字典就行了,</div>
                    </li>
                    <li><a href="/article/1891325943818022912.htm"
                           title="前端面试题2(vue3)" target="_blank">前端面试题2(vue3)</a>
                        <span class="text-muted">GIS-CL</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">前端面试题</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a>
                        <div>1.Vue3中的CompositionAPI是什么?与OptionsAPI的区别是什么?答案:CompositionAPI是Vue3引入的一种新的编程模型,它允许开发者以更灵活和模块化的方式组织代码。与传统的OptionsAPI相比,CompositionAPI通过setup()函数集中管理组件的状态和行为,使得逻辑复用和代码组织变得更加容易。OptionsAPI:在Vue2中广泛使用,通过dat</div>
                    </li>
                    <li><a href="/article/1891323423041318912.htm"
                           title="vertx" target="_blank">vertx</a>
                        <span class="text-muted">三笠爷</span>
<a class="tag" taget="_blank" href="/search/vert.x/1.htm">vert.x</a>
                        <div>vert.x是reactive(响应式编程),是一种思想,特点:事件驱动(发挥单台机器的性能):单台机器上,用少量线程处理大量并发异步处理请求(多个服务间通信阻塞较少,响应时间降低):https://vertx.io/官网基于netty的、运行在jvm之上的、支持多种编程语言的高性能异步、非阻塞、响应式全栈javaweb框架eclipse软件基金会顶级java开源项目之一在techempower.</div>
                    </li>
                    <li><a href="/article/1891322918294581248.htm"
                           title="如何构建高效的 Vue 3 前端项目结构" target="_blank">如何构建高效的 Vue 3 前端项目结构</a>
                        <span class="text-muted">东锋1.3</span>
<a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>假如你正在深入开发一个Vue项目,起初一切感觉顺畅简单。但随着应用的增长,你的文件夹开始泛滥,组件变得混乱,寻找文件就像大海捞针。听起来熟悉吗?其实你并不孤单。一个有组织的文件结构是可扩展、可维护和高效前端开发的支柱。但关键问题是:没有一种放之四海而皆准的结构。完美的设置取决于你的项目规模、复杂性和团队动态。那么,如何开始呢?如何平衡简单性和可扩展性?在这篇文章中,我将分解Vue3项目的最优文件结</div>
                    </li>
                    <li><a href="/article/1891322538965921792.htm"
                           title="Cursor前端开发提示词分享" target="_blank">Cursor前端开发提示词分享</a>
                        <span class="text-muted">前端程序猿i</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>点击设置将提示词复制黏贴进输入框里即可Alwaysrespondin中文DONOTGIVEMEHIGHLEVELSTUFF,IFIASKFORFIXOREXPLANATION,IWANTACTUALCODEOREXPLANATION!!!IDON'TWANT"Here'showyoucanblablabla"-Youareaseniorfrontendengineer.-Ifcommandsnee</div>
                    </li>
                    <li><a href="/article/1891318881629302784.htm"
                           title="Vue3 中的 defineProps:优雅地实现子父组件传值" target="_blank">Vue3 中的 defineProps:优雅地实现子父组件传值</a>
                        <span class="text-muted">良月柒</span>
<a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>Vue.js一直以来都是前端开发者们钟爱的框架之一,而在最新的Vue3中,引入了一些新的特性和改进,其中之一就是defineProps。defineProps提供了一种更加明确和类型安全的方式来定义子组件的props,让子父组件之间的数据传递更加清晰和可维护。本文将介绍Vue3中defineProps的用法以及如何在子组件中使用它来接收父组件传递的props数据。什么是defineProps?de</div>
                    </li>
                    <li><a href="/article/1891315349798842368.htm"
                           title="vue3项目开发总结" target="_blank">vue3项目开发总结</a>
                        <span class="text-muted">Yaru11</span>
<a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>一、项目准备1、明确项目需求和目标在开始构建项目之前,首先要明确项目的需求和目标。这包括了解项目的业务背景、功能需求、性能要求等,以便为后续的技术选型和架构设计提供指导。2、技术选型与框架选择前端框架:选择Vue3作为前端框架,利用其组件化、响应式等特性来提高开发效率和代码质量。构建工具:当前使用的是vue-cli。推荐使用Vite作为构建工具,因为它具有快速的冷启动、实时的热更新和简洁的配置等优</div>
                    </li>
                    <li><a href="/article/1891314845932908544.htm"
                           title="MTTK Vue Wrap 项目介绍" target="_blank">MTTK Vue Wrap 项目介绍</a>
                        <span class="text-muted">MTTKbelinda</span>
<a class="tag" taget="_blank" href="/search/VUE/1.htm">VUE</a><a class="tag" taget="_blank" href="/search/Wrap/1.htm">Wrap</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>关键字:Vue3,配置开发,快速开发,组件封装关于本项目概述MttkVueWrap是一个基于Vue3的组件封装工具,核心目标是通过纯JavaScript/TypeScript替代传统的单文件组件(SFC)开发模式,同时兼容与SFC的混合使用.它允许开发者通过类似JSON的配置对象或动态生成的脚本快速构建Vue组件,涵盖模板、双向绑定(v-model)、属性、事件、插槽等核心功能.项目起源在前端开发</div>
                    </li>
                    <li><a href="/article/1891313206572412928.htm"
                           title="对于简单的HTML、CSS、JavaScript前端,我们可以通过几种方式连接后端" target="_blank">对于简单的HTML、CSS、JavaScript前端,我们可以通过几种方式连接后端</a>
                        <span class="text-muted">昨今</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a>
                        <div>1.使用FetchAPI发送HTTP请求(最简单的方式)://home.html//示例:提交表单数据到后端constsubmitForm=async(formData)=>{try{constresponse=awaitfetch('http://your-backend-url/api/submit',{method:'POST',headers:{'Content-Type':'applic</div>
                    </li>
                    <li><a href="/article/1891312449886416896.htm"
                           title="《vue.js前端框架技术》" target="_blank">《vue.js前端框架技术》</a>
                        <span class="text-muted">韩靓.</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/flutter/1.htm">flutter</a>
                        <div>一、引言在当今快速发展的互联网时代,前端开发技术不断推陈出新,众多框架和工具如雨后春笋般涌现,而Vue.js凭借其独特的优势,在前端开发领域中占据了重要的一席之地。它以简洁的语法、高效的性能和灵活的扩展性,为开发者提供了一种便捷且强大的方式来构建各类交互式的用户界面。无论是简单的企业展示网站、小型的移动应用,还是复杂的大型单页面应用(SPA),Vue.js都展现出了卓越的适应性和实用性,能够满足不</div>
                    </li>
                    <li><a href="/article/1891311945542332416.htm"
                           title="深入解析 Vert.x 的关键特性、架构及其在异步编程中的应用" target="_blank">深入解析 Vert.x 的关键特性、架构及其在异步编程中的应用</a>
                        <span class="text-muted">不是二师兄的八戒</span>
<a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/Vert.x/1.htm">Vert.x</a>
                        <div>下面将对Vert.x进行更深入的解读,从其底层架构、事件驱动模型、线程模型、集群模式、以及与现代微服务体系的深度集成等方面来进行拓展,以便全面理解Vert.x作为一个异步非阻塞框架的优势和复杂性。1.Vert.x底层架构详解1.1多反应器架构(Multi-ReactorPattern)Vert.x的核心是基于多反应器模式(Multi-ReactorPattern),这使得它可以有效地处理大量的并发</div>
                    </li>
                    <li><a href="/article/1891304619557056512.htm"
                           title="Vue3 使用 ref、reactive响应式丢失" target="_blank">Vue3 使用 ref、reactive响应式丢失</a>
                        <span class="text-muted">张帅涛_666</span>
<a class="tag" taget="_blank" href="/search/Vue3%E5%BC%80%E5%8F%91/1.htm">Vue3开发</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>文章目录一、refreactive实例1.引用refreactive属性2.refreactive替换整条数据3.refreactive解构赋值一、refreactive实例1.引用refreactive属性单独引用refreactive修改其中某一个属性,状态变量不会丢失,正常使用import{ref,reactive,toRefs,toRef}from"vue";constcount=ref(</div>
                    </li>
                    <li><a href="/article/1891302346894405632.htm"
                           title="web前端面试问什么,【前端,2024华为前端高级面试题及答案" target="_blank">web前端面试问什么,【前端,2024华为前端高级面试题及答案</a>
                        <span class="text-muted">uiuuyy67</span>
<a class="tag" taget="_blank" href="/search/2024%E5%B9%B4%E7%A8%8B%E5%BA%8F%E5%91%98%E5%AD%A6%E4%B9%A0/1.htm">2024年程序员学习</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a>
                        <div>效果截图:用户名是只读的,所以无法在text文本框里输入值;账号是禁用的,直接变成灰色了。2.input标签常用的type属性值讲解text文本框password密码框radio单选框checkbox复选框file文件选择hidden隐藏域hidden是用户看不见的东西,给管理员(写网页的)操作保存信息的!submit提交reset重置(2)select下拉框option:下拉选项(下拉框的基本标</div>
                    </li>
                    <li><a href="/article/1891298945641017344.htm"
                           title="Vue 前端开发中的路由知识:从入门到精通" target="_blank">Vue 前端开发中的路由知识:从入门到精通</a>
                        <span class="text-muted">chenNorth。</span>
<a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>文章目录引言1.VueRouter简介1.1安装VueRouter1.2配置VueRouter1.3在Vue实例中使用VueRouter2.路由的基本用法2.1路由映射2.2路由视图2.3路由链接3.动态路由3.1动态路径参数3.2访问动态参数3.3响应路由参数的变化4.嵌套路由4.1定义嵌套路由4.2渲染嵌套路由5.路由守卫5.1全局守卫5.2路由独享守卫5.3组件内守卫6.路由懒加载6.1使用</div>
                    </li>
                                <li><a href="/article/121.htm"
                                       title="jquery实现的jsonp掉java后台" target="_blank">jquery实现的jsonp掉java后台</a>
                                    <span class="text-muted">知了ing</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jsonp/1.htm">jsonp</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a>
                                    <div> 什么是JSONP? 
 
先说说JSONP是怎么产生的: 
 
其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,小可不才,试着用自己的方式来阐释一下这个问题,看看是否有帮助。 
 
1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准; 
 
2、</div>
                                </li>
                                <li><a href="/article/248.htm"
                                       title="Struts2学习笔记" target="_blank">Struts2学习笔记</a>
                                    <span class="text-muted">caoyong</span>
<a class="tag" taget="_blank" href="/search/struts2/1.htm">struts2</a>
                                    <div>SSH : Spring + Struts2 + Hibernate 
三层架构(表示层,业务逻辑层,数据访问层) MVC模式 (Model View Controller) 
分层原则:单向依赖,接口耦合 
 
1、Struts2  =  Struts  + Webwork 
2、搭建struts2开发环境 
   a>、到www.apac</div>
                                </li>
                                <li><a href="/article/375.htm"
                                       title="SpringMVC学习之后台往前台传值方法" target="_blank">SpringMVC学习之后台往前台传值方法</a>
                                    <span class="text-muted">满城风雨近重阳</span>
<a class="tag" taget="_blank" href="/search/springMVC/1.htm">springMVC</a>
                                    <div>springMVC控制器往前台传值的方法有以下几种: 
1.ModelAndView 
   通过往ModelAndView中存放viewName:目标地址和attribute参数来实现传参: 
    
 ModelAndView mv=new ModelAndView(); 
 mv.setViewName="success</div>
                                </li>
                                <li><a href="/article/502.htm"
                                       title="WebService存在的必要性?" target="_blank">WebService存在的必要性?</a>
                                    <span class="text-muted">一炮送你回车库</span>
<a class="tag" taget="_blank" href="/search/webservice/1.htm">webservice</a>
                                    <div>做Java的经常在选择Webservice框架上徘徊很久,Axis  Xfire Axis2 CXF ,他们只有一个功能,发布HTTP服务然后用XML做数据传输。 
是的,他们就做了两个功能,发布一个http服务让客户端或者浏览器连接,接收xml参数并发送xml结果。 
当在不同的平台间传输数据时,就需要一个都能解析的数据格式。 
但是为什么要使用xml呢?不能使json或者其他通用数据</div>
                                </li>
                                <li><a href="/article/629.htm"
                                       title="js年份下拉框" target="_blank">js年份下拉框</a>
                                    <span class="text-muted">3213213333332132</span>
<a class="tag" taget="_blank" href="/search/java+web+ee/1.htm">java web ee</a>
                                    <div>
  <div id="divValue">test...</div>测试

 //年份 
    <select id="year"></select>
   <script type="text/javascript">
     window.onload = </div>
                                </li>
                                <li><a href="/article/756.htm"
                                       title="简单链式调用的实现技术" target="_blank">简单链式调用的实现技术</a>
                                    <span class="text-muted">归来朝歌</span>
<a class="tag" taget="_blank" href="/search/%E6%96%B9%E6%B3%95%E8%B0%83%E7%94%A8/1.htm">方法调用</a><a class="tag" taget="_blank" href="/search/%E9%93%BE%E5%BC%8F%E5%8F%8D%E5%BA%94/1.htm">链式反应</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E6%80%9D%E6%83%B3/1.htm">编程思想</a>
                                    <div>在编程中,我们可以经常遇到这样一种场景:一个实例不断调用它自身的方法,像一条链条一样进行调用 
这样的调用你可能在Ajax中,在页面中添加标签: 
$("<p>").append($("<span>").text(list[i].name)).appendTo("#result"); 
  
也可能在HQ</div>
                                </li>
                                <li><a href="/article/883.htm"
                                       title="JAVA调用.net 发布的webservice 接口" target="_blank">JAVA调用.net 发布的webservice 接口</a>
                                    <span class="text-muted">darkranger</span>
<a class="tag" taget="_blank" href="/search/webservice/1.htm">webservice</a>
                                    <div> /** 
	* @Title: callInvoke 
	* @Description: TODO(调用接口公共方法) 
	* @param @param url 地址
	* @param @param method 方法
	* @param @param pama 参数
	* @param @return
	* @param @throws BusinessException  </div>
                                </li>
                                <li><a href="/article/1010.htm"
                                       title="Javascript模糊查找 | 第一章 循环不能不重视。" target="_blank">Javascript模糊查找 | 第一章 循环不能不重视。</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/Way/1.htm">Way</a>
                                    <div>  最近受我的朋友委托用js+HTML做一个像手册一样的程序,里面要有可展开的大纲,模糊查找等功能。我这个人说实在的懒,本来是不愿意的,但想起了父亲以前教我要给朋友搞好关系,再加上这也可以巩固自己的js技术,于是就开始开发这个程序,没想到却出了点小问题,我做的查找只能绝对查找。具体的js代码如下: 
  
function search(){
	var arr=new Array("my</div>
                                </li>
                                <li><a href="/article/1137.htm"
                                       title="狼和羊,该怎么抉择" target="_blank">狼和羊,该怎么抉择</a>
                                    <span class="text-muted">atongyeye</span>
<a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a>
                                    <div>狼和羊,该怎么抉择 
 
在做一个链家的小项目,只有我和另外一个同事两个人负责,各负责一部分接口,我的接口写完,并全部测联调试通过。所以工作就剩下一下细枝末节的,工作就轻松很多。每天会帮另一个同事测试一些功能点,协助他完成一些业务型不强的工作。 
 
今天早上到公司没多久,领导就在QQ上给我发信息,让我多协助同事测试,让我积极主动些,有点责任心等等,我听了这话,心里面立马凉半截,首先一个领导轻易说</div>
                                </li>
                                <li><a href="/article/1264.htm"
                                       title="读取android系统的联系人拨号" target="_blank">读取android系统的联系人拨号</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/sqlite%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">sqlite数据库</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E5%AE%B9%E6%8F%90%E4%BE%9B%E8%80%85/1.htm">内容提供者</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9C%8D%E5%8A%A1%E7%9A%84%E4%BD%BF%E7%94%A8/1.htm">系统服务的使用</a>
                                    <div>  
     联系人的姓名和号码是保存在不同的表中,不要一下子把号码查询来,我开始就是把姓名和电话同时查询出来的,导致系统非常的慢 
  
关键代码: 
  
  
1, 使用javabean操作存储读取到的数据 
package com.example.bean;

/**
 * 
 * @author Admini</div>
                                </li>
                                <li><a href="/article/1391.htm"
                                       title="ORACLE自定义异常" target="_blank">ORACLE自定义异常</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%82%E5%B8%B8/1.htm">自定义异常</a>
                                    <div>实例: 
CREATE OR REPLACE PROCEDURE test_Exception
(
  ParameterA IN varchar2,
  ParameterB IN varchar2,
  ErrorCode  OUT varchar2  --返回值,错误编码
)
AS
  /*以下是一些变量的定义*/
  V1    NUMBER;
  V2    nvarc</div>
                                </li>
                                <li><a href="/article/1518.htm"
                                       title="查看端号使用情况" target="_blank">查看端号使用情况</a>
                                    <span class="text-muted">征客丶</span>
<a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a>
                                    <div>一、查看端口 
在windows命令行窗口下执行: 
>netstat -aon|findstr "8080" 
显示结果: 
TCP     127.0.0.1:80         0.0.0.0:0    &</div>
                                </li>
                                <li><a href="/article/1645.htm"
                                       title="【Spark二十】运行Spark Streaming的NetworkWordCount实例" target="_blank">【Spark二十】运行Spark Streaming的NetworkWordCount实例</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/wordcount/1.htm">wordcount</a>
                                    <div>Spark Streaming简介 
  NetworkWordCount代码 
  
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
</div>
                                </li>
                                <li><a href="/article/1772.htm"
                                       title="Struts2 与 SpringMVC的比较" target="_blank">Struts2 与 SpringMVC的比较</a>
                                    <span class="text-muted">BlueSkator</span>
<a class="tag" taget="_blank" href="/search/struts2/1.htm">struts2</a><a class="tag" taget="_blank" href="/search/spring+mvc/1.htm">spring mvc</a>
                                    <div>1. 机制:spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同。 2. 性能:spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样。spring</div>
                                </li>
                                <li><a href="/article/1899.htm"
                                       title="Hibernate在更新时,是可以不用session的update方法的(转帖)" target="_blank">Hibernate在更新时,是可以不用session的update方法的(转帖)</a>
                                    <span class="text-muted">BreakingBad</span>
<a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a><a class="tag" taget="_blank" href="/search/update/1.htm">update</a>
                                    <div>地址:http://blog.csdn.net/plpblue/article/details/9304459 
public void synDevNameWithItil() 
{Session session = null;Transaction tr = null;try{session = HibernateUtil.getSession();tr = session.beginTran</div>
                                </li>
                                <li><a href="/article/2026.htm"
                                       title="读《研磨设计模式》-代码笔记-观察者模式" target="_blank">读《研磨设计模式》-代码笔记-观察者模式</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a>
                                    <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ 
 
 



import java.util.ArrayList;
import java.util.List;
import java.util.Observable;
import java.util.Observer;

/**
 * “观</div>
                                </li>
                                <li><a href="/article/2153.htm"
                                       title="重置MySQL密码" target="_blank">重置MySQL密码</a>
                                    <span class="text-muted">chenhbc</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E9%87%8D%E7%BD%AE%E5%AF%86%E7%A0%81/1.htm">重置密码</a><a class="tag" taget="_blank" href="/search/%E5%BF%98%E8%AE%B0%E5%AF%86%E7%A0%81/1.htm">忘记密码</a>
                                    <div>如果你也像我这么健忘,把MySQL的密码搞忘记了,经过下面几个步骤就可以重置了(以Windows为例,Linux/Unix类似): 
1、关闭MySQL服务 
2、打开CMD,进入MySQL安装目录的bin目录下,以跳过权限检查的方式启动MySQL 
mysqld --skip-grant-tables 
 3、新开一个CMD窗口,进入MySQL 
mysql -uroot 
 </div>
                                </li>
                                <li><a href="/article/2280.htm"
                                       title="再谈系统论,控制论和信息论" target="_blank">再谈系统论,控制论和信息论</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E7%94%9F%E7%89%A9/1.htm">生物</a><a class="tag" taget="_blank" href="/search/%E8%83%BD%E6%BA%90/1.htm">能源</a><a class="tag" taget="_blank" href="/search/%E4%BC%81%E4%B8%9A%E5%BA%94%E7%94%A8/1.htm">企业应用</a><a class="tag" taget="_blank" href="/search/%E9%A2%86%E5%9F%9F%E6%A8%A1%E5%9E%8B/1.htm">领域模型</a>
                                    <div> 
                           再谈系统论,控制论和信息论 
 
 
    偶然看</div>
                                </li>
                                <li><a href="/article/2407.htm"
                                       title="oracle moving window size与 AWR retention period关系" target="_blank">oracle moving window size与 AWR retention period关系</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a>
                                    <div>转自: http://tomszrp.itpub.net/post/11835/494147 
 
晚上在做11gR1的一个awrrpt报告时,顺便想调整一下AWR snapshot的保留时间,结果遇到了ORA-13541这样的错误.下面是这个问题的发生和解决过程. 
 
SQL> select * from v$version; 
 
BANNER 
-------------------</div>
                                </li>
                                <li><a href="/article/2534.htm"
                                       title="Python版B树" target="_blank">Python版B树</a>
                                    <span class="text-muted">dieslrae</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                                    <div>话说以前的树都用java写的,最近发现python有点生疏了,于是用python写了个B树实现,B树在索引领域用得还是蛮多了,如果没记错mysql的默认索引好像就是B树... 
 
首先是数据实体对象,很简单,只存放key,value 
 

class Entity(object):
    '''数据实体'''
    
    def __init__(self,key,value)</div>
                                </li>
                                <li><a href="/article/2661.htm"
                                       title="C语言冒泡排序" target="_blank">C语言冒泡排序</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                                    <div>代码示例: 
# include <stdio.h>

//冒泡排序
void sort(int * a, int len)
{
	int i, j, t;

	for (i=0; i<len-1; i++)
	{
		for (j=0; j<len-1-i; j++)
		{
			if (a[j] > a[j+1])	// >表示升序 </div>
                                </li>
                                <li><a href="/article/2788.htm"
                                       title="自定义导航栏样式" target="_blank">自定义导航栏样式</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89/1.htm">自定义</a>
                                    <div>-(void)setupAppAppearance
{
    [[UILabel appearance] setFont:[UIFont fontWithName:@"FZLTHK—GBK1-0" size:20]];
    [UIButton appearance].titleLabel.font =[UIFont fontWithName:@"FZLTH</div>
                                </li>
                                <li><a href="/article/2915.htm"
                                       title="11.性能优化-优化-JVM参数总结" target="_blank">11.性能优化-优化-JVM参数总结</a>
                                    <span class="text-muted">frank1234</span>
<a class="tag" taget="_blank" href="/search/jvm%E5%8F%82%E6%95%B0/1.htm">jvm参数</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a>
                                    <div>1.堆 
-Xms --初始堆大小 
-Xmx --最大堆大小 
-Xmn --新生代大小 
-Xss --线程栈大小 
-XX:PermSize  --永久代初始大小 
-XX:MaxPermSize  --永久代最大值 
-XX:SurvivorRatio --新生代和suvivor比例,默认为8 
-XX:TargetSurvivorRatio --survivor可使用</div>
                                </li>
                                <li><a href="/article/3042.htm"
                                       title="nginx日志分割 for linux" target="_blank">nginx日志分割 for linux</a>
                                    <span class="text-muted">HarborChung</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a>
                                    <div>nginx日志分割 for linux   默认情况下,nginx是不分割访问日志的,久而久之,网站的日志文件将会越来越大,占用空间不说,如果有问题要查看网站的日志的话,庞大的文件也将很难打开,于是便有了下面的脚本        使用方法,先将以下脚本保存为 cutlog.sh,放在/root 目录下,然后给予此脚本执行的权限    
   
复制代码代码如下:   
chmo</div>
                                </li>
                                <li><a href="/article/3169.htm"
                                       title="Spring4新特性——泛型限定式依赖注入" target="_blank">Spring4新特性——泛型限定式依赖注入</a>
                                    <span class="text-muted">jinnianshilongnian</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/spring4/1.htm">spring4</a><a class="tag" taget="_blank" href="/search/%E6%B3%9B%E5%9E%8B%E5%BC%8F%E4%BE%9D%E8%B5%96%E6%B3%A8%E5%85%A5/1.htm">泛型式依赖注入</a>
                                    <div>Spring4新特性——泛型限定式依赖注入 
Spring4新特性——核心容器的其他改进 
Spring4新特性——Web开发的增强 
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC  
Spring4新特性——Groovy Bean定义DSL 
Spring4新特性——更好的Java泛型操作API  
Spring4新</div>
                                </li>
                                <li><a href="/article/3296.htm"
                                       title="centOS安装GCC和G++" target="_blank">centOS安装GCC和G++</a>
                                    <span class="text-muted">liuxihope</span>
<a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/gcc/1.htm">gcc</a>
                                    <div>Centos支持yum安装,安装软件一般格式为yum install .......,注意安装时要先成为root用户。 
 
按照这个思路,我想安装过程如下: 
 
安装gcc:yum install gcc 
 
安装g++: yum install g++ 
 
实际操作过程发现,只能有gcc安装成功,而g++安装失败,提示g++ command not found。上网查了一下,正确安装应该</div>
                                </li>
                                <li><a href="/article/3423.htm"
                                       title="第13章 Ajax进阶(上)" target="_blank">第13章 Ajax进阶(上)</a>
                                    <span class="text-muted">onestopweb</span>
<a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a>
                                    <div>index.html 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/</div>
                                </li>
                                <li><a href="/article/3550.htm"
                                       title="How to determine BusinessObjects service pack and fix pack" target="_blank">How to determine BusinessObjects service pack and fix pack</a>
                                    <span class="text-muted">blueoxygen</span>
<a class="tag" taget="_blank" href="/search/BO/1.htm">BO</a>
                                    <div>http://bukhantsov.org/2011/08/how-to-determine-businessobjects-service-pack-and-fix-pack/ 
  
The table below is helpful. Reference 
  BOE XI 3.x 
     12.0.0.
y  BOE XI 3.0   12.0.
x.
y  BO</div>
                                </li>
                                <li><a href="/article/3677.htm"
                                       title="Oracle里的自增字段设置" target="_blank">Oracle里的自增字段设置</a>
                                    <span class="text-muted">tomcat_oracle</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a>
                                    <div> 大家都知道吧,这很坑,尤其是用惯了mysql里的自增字段设置,结果oracle里面没有的。oh,no     我用的是12c版本的,它有一个新特性,可以这样设置自增序列,在创建表是,把id设置为自增序列   
create table t
(
id        number generated by default as identity (start with 1 increment b</div>
                                </li>
                                <li><a href="/article/3804.htm"
                                       title="Spring Security(01)——初体验" target="_blank">Spring Security(01)——初体验</a>
                                    <span class="text-muted">yang_winnie</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/Security/1.htm">Security</a>
                                    <div>Spring Security(01)——初体验 
 
    博客分类: spring Security 
 
Spring Security入门安全认证 
 
       首先我们为Spring Security专门建立一个Spring的配置文件,该文件就专门用来作为Spring Security的配置</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>