Angular4+图片查看组件,支持拖动。缩放。DomHandler是一个操作dom的工具

/*** Created by MarkBell on 2018/1/8.*/
import {NgModule, Component, ElementRef, OnInit, AfterViewInit, OnDestroy, Input, Output, Renderer2, Inject, forwardRef,ViewChild, AfterViewChecked, ViewEncapsulation, NgZone
} from '@angular/core';
import {CommonModule} from '@angular/common';
import {DomHandler} from '../dom/domhandler';
import {HttpService} from "../../common/http.service";
import {Headers, ResponseContentType} from "@angular/http";
import {fromEvent} from "rxjs/observable/fromEvent";@Component({selector: 'ui-file-preview',styleUrls: ['./filepreview.css'],encapsulation: ViewEncapsulation.None,template: `<div #container class="filepreview-panel" (click)="filePreviewEventStopPropagation($event)" [ngClass]="styleClass"[ngStyle]="style" [style.display]="visible ? 'block' : 'none'"><div class="panel-container"><div id="previewBox" #previewBox class="img-box"><img #imgPreview class="img-preview" alt="" title="" src="{{fileUrl}}"/></div></div><div class="filepreview-panel-bottom flex flex-justify"><div class="flex-left g-5"><h5 class="font-xxl">附件预览</h5><p class="font-gray">{{fileName}}</p></div><div class="flex flex-right flex-align-c g-5"><button class="" (click)="downFile()"><i class="icon img-download-white"></i> 保存图像</button><button class="" (click)="hide()"><i class="anticon anticon-close"></i> 退出查看</button></div></div></div>`,providers: [DomHandler]
})
export class FilePreview implements OnInit, AfterViewInit, OnDestroy, AfterViewChecked {@Input() style: any;@Input() styleClass: string;fileUrl: string;//文件的url包括主机、端口等信息fileType: string;//image:图片  video:视频  other:其他fileName: string;//文件名称_visible: boolean;imgDefaultWidth=500;imgInit=false;imgDefaultHeight=500;isDragWhell=false;//是否可以拖拽previousX:number=0;//前一步鼠标X的位置previousY:number=0;//前一步鼠标Y的位置filePreviewClick: boolean;documentClickListener: any;set visible(visible: boolean) {this._visible = visible;}get visible() {return this._visible;}@ViewChild('container') containerViewChild: ElementRef;@ViewChild('previewBox') previewBoxViewChild: ElementRef;@ViewChild('imgPreview') imgPreviewrViewChild: ElementRef;container: any;previewBox: any;imgPreview: any;constructor(public el: ElementRef, public domHandler: DomHandler, public renderer: Renderer2,private ngZone: NgZone,public readonly httpService: HttpService,) {}ngOnInit() {}ngAfterViewInit() {this.container = <HTMLElement> this.containerViewChild.nativeElement;this.previewBox = <HTMLElement> this.previewBoxViewChild.nativeElement;this.imgPreview = <HTMLElement> this.imgPreviewrViewChild.nativeElement;this.dragWhell();this.imgZoomBindEvent();}ngAfterViewChecked() {this.initImg();}//图片加载后按比例调整大小initImg(){if (this.imgPreview&&!this.imgInit) {let image = new Image();let defaultWidth = this.imgDefaultWidth;let defaultHeight = this.imgDefaultHeight;//原图片原始地址(用于获取原图片的真实宽高,当<img>标签指定了宽、高时不受影响)let imgSrc= this.imgPreview.getAttribute("src");if(!imgSrc){return;}image.src = imgSrc;//当图片比图片框小if (image.width < defaultWidth && image.height < defaultHeight) {if(image.width>=image.height){this.imgPreview.setAttribute("width", defaultWidth + "px");this.imgPreview.setAttribute("height", defaultWidth * (image.height / image.width) + "px");}else{this.imgPreview.setAttribute("width", defaultHeight * (image.width / image.height) + "px");this.imgPreview.setAttribute("height", defaultHeight + "px");}} else {//原图片宽高比例 大于 图片框宽高比例,则以框的宽为标准缩放,反之以框的高为标准缩放if (defaultWidth / defaultHeight <= image.width / image.height) {//原图片宽高比例 大于 图片框宽高比例this.imgPreview.setAttribute("width", defaultWidth + "px");//以框的宽度为标准this.imgPreview.setAttribute("height", defaultWidth * (image.height / image.width) + "px");}else {//原图片宽高比例 小于 图片框宽高比例this.imgPreview.setAttribute("width", defaultHeight * (image.width / image.height) + "px");//以框的高度为标准this.imgPreview.setAttribute("height", defaultHeight + "px");}}this.imgAlginCenter(parseInt(this.imgPreview.getAttribute("width")),parseInt(this.imgPreview.getAttribute("height")));this.imgInit=true;}}imgAlginCenter(imgWidth,imgHeight){this.previewBox.style.left=(document.body.offsetWidth-imgWidth)/2+'px'this.previewBox.style.top=(document.body.offsetHeight-imgHeight)/2+'px'}/*** 图片缩放事件绑定*/imgZoomBindEvent(){let eventType;if (window.navigator.userAgent.toLowerCase().indexOf('firefox') != -1) {eventType='DOMMouseScroll';} else {eventType='mousewheel';}this.previewBox.addEventListener(eventType, (ev) => {//判断放大或缩小,(ev.detail > 0) 缩小否则放大let delta=ev.detail ? ev.detail > 0 : ev.wheelDelta < 0;this.imgZoom(delta);});}/*** 图片拖拽和放大* 计算前一步鼠标的位置和下一步鼠标的位置,来实现*/dragWhell() {this.imgPreview.onmousedown=(ev) => {this.previewBox.style.cursor = "move";this.previewBox.onmousemove=(ev)=>{let disX = 0;let disY = 0;if(!this.previousX){this.previousX=ev.clientX;}else{disX=ev.clientX-this.previousX;this.previousX=ev.clientX;}if(!this.previousY){this.previousY=ev.clientY;}else{disY=ev.clientY-this.previousY;this.previousY=ev.clientY;}this.previewBox.style.left = disX + this.previewBox.offsetLeft + 'px';this.previewBox.style.top = disY + this.previewBox.offsetTop + 'px';};return false;};this.imgPreview.onmouseup=(ev)=>{this.previousX=null;this.previousY=null;this.previewBox.style.cursor="default";this.previewBox.onmousemove=null;return false;}}imgZoom(delta:any){if(delta){if(this.imgPreview.offsetWidth<100||this.imgPreview.offsetHeight<100){return;}}else{if(this.imgPreview.offsetWidth>2048||this.imgPreview.offsetHeight>2048){return;}}//图片放大缩小因子let ratioDelta = !delta ? 1 + 0.05 : 1 - 0.05;//图片外层容器的位置let previewBoxLeft=this.previewBox.offsetLeft;let previewBoxTop=this.previewBox.offsetTop;//图片旧的宽度高度let imgPreviewOffsetWidth=this.imgPreview.offsetWidth;let imgPreviewOffsetHeight=this.imgPreview.offsetHeight;//图片新的宽度高度let w = imgPreviewOffsetWidth * ratioDelta;let h = imgPreviewOffsetHeight * ratioDelta;//图片缩放后宽度,高度改变的量let widthChangeValue=imgPreviewOffsetWidth-w;let widthChangeHeight=imgPreviewOffsetHeight-h;this.previewBox.style.left =(previewBoxLeft+widthChangeValue/2)+ 'px';this.previewBox.style.top =(previewBoxTop+widthChangeHeight/2) + 'px';this.imgPreview.style.width=w +'px';this.imgPreview.style.height=h +'px';}setFileInfo(fileUrl, fileName) {this.fileUrl = fileUrl;if (this.fileUrl) {let fileNameByUrl = this.fileUrl.split("/");let fileTypeByUrl = this.fileUrl.split(".");if (fileName) {this.fileName = fileName;} else {this.fileName = fileNameByUrl[fileNameByUrl.length - 1];}this.toImageType(fileTypeByUrl[fileTypeByUrl.length - 1]);}}toImageType(value) {if (value && (value.toLowerCase() == 'jpg' || value.toLowerCase() == 'png' || value.toLowerCase() == 'jpeg' || value.toLowerCase() == 'jpg')) {this.fileType = 'image';}}show(event: MouseEvent, fileUrl?, fileName?) {this.setFileInfo(fileUrl, fileName)this.filePreviewClick = true;//延时计算位置this.visible = true;this.domHandler.fadeIn(this.container, 250);//this.bindDocumentClickListener();if (event) {event.preventDefault();}}hide() {this.domHandler.fadeIn(this.container, 0);this.visible = false;//this.unbindDocumentClickListener();}toggle(event?: MouseEvent) {if (this.visible)this.hide();elsethis.show(event);}bindDocumentClickListener() {if (!this.documentClickListener) {this.documentClickListener = this.renderer.listen('document', 'click', (event) => {if (this.visible && ((event.button !== 2 && !this.filePreviewClick))) {this.hide();}this.filePreviewClick = false;});}}unbindDocumentClickListener() {if (this.documentClickListener) {this.documentClickListener();this.documentClickListener = null;}}filePreviewEventStopPropagation(event) {event.stopPropagation();}ngOnDestroy() {this.unbindDocumentClickListener();}//文件下载downFile() {let httpUrlReg=new RegExp("^(http|https|ftp)://([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&amp;%$-]+))?");let url=this.fileUrl.replace(httpUrlReg,"")this.httpService.downFileByUrl(url,this.fileName);}
}@NgModule({imports: [CommonModule],exports: [FilePreview],declarations: [FilePreview],entryComponents: [FilePreview],
})
export class FilePreviewModule {
}

httpService用来处理http请求,用到了NzMessageService这个是NG-ZORRO(一个Angular的控件库)

/*** @Author: MarkBell* @Description:* @Date 2017/11/7*/
import {Inject, Injectable, EventEmitter} from '@angular/core';
import {Observable} from "rxjs/Observable";
import {HttpClient, HttpResponse, HttpErrorResponse} from '@angular/common/http';
import {Headers, Http, JsonpModule, XHRBackend, RequestOptions, RequestOptionsArgs, Jsonp,JSONPBackend, URLSearchParams, QueryEncoder, ResponseContentType
} from '@angular/http';
import {NzMessageService} from "../ui-component/components/ng-zorro-antd.module";
export const API_URL: string = 'API_URL';
export const AISP_URL: string = 'MESSAGE_SERVICE_URL';
export const FLIGHT_PLANELOGO_PATH: string = 'FLIGHT_PLANELOGO_PATH';
export const FLIGHT_LOGO_PATH: string = 'FLIGHT_LOGO_PATH';
export const HTTP_SERVICE: string = 'HTTP_SERVICE';
@Injectable()
export class HttpService {private _loading;/** 是否正在加载中 */readonly loading: boolean;constructor(private http: HttpClient,private jsonpHttp: Jsonp, public readonly messageService: NzMessageService,) {}//基本的http application/json请求request(method: any, url: any, data?: any): Observable<any> {return this.http.request(method, url, {body: data, observe: 'response'}).map((res) => {return res;})}//基本的http Post请求requestPost(url: any, data?: any): Observable<any> {return this.http.post(url, data).map((res) => {return res;})}//基本的http Get请求requestGet(url: any, data?: any): Observable<any> {return this.http.get( url,data).map((res) => {return res;})}//基本的http application/json Blob请求requestBlob(url: any, data?: any): Observable<any> {return this.http.request("post", url, {body: data, observe: 'response', responseType: 'blob'});}//基本的http Post Blob请求requestPostBlob(url: any, data?: any): Observable<any> {return this.http.post(url, data,{ observe: 'response',responseType: 'blob'})}//Blob文件转换下载downFile(result, fileName, fileType?) {let data = result.body;if(data.size<=0){this.messageService.remove();this.messageService.info("没有数据")return;}var blob = new Blob([data], {type: fileType});var objectUrl = URL.createObjectURL(blob);var a = document.createElement('a');a.setAttribute('style', 'display:none');a.setAttribute('href', objectUrl);a.setAttribute('download', fileName);a.click();URL.revokeObjectURL(objectUrl);}//Blob文件转换下载downFileByUrl(url, fileName) {var a = document.createElement('a');a.setAttribute('style', 'display:none');a.setAttribute('href', url);a.setAttribute('download', fileName);a.click();}private catchError(self: HttpService) {return (res: Response) => {if (res.status === 401 || res.status === 403) {console.log(res);}if (res.status === 500 || res.status === 501) {console.log(res);}return Observable.throw(res);};}
}

DomHandler一个操作dom的工具

/*** @Author: MarkBell* @Description:* @Date 2018/4/27*/
import { Injectable } from '@angular/core';@Injectable()
export class DomHandler {public static zindex: number = 1000;private calculatedScrollbarWidth: number = null;public addClass(element: any, className: string): void {if (element.classList)element.classList.add(className);elseelement.className += ' ' + className;}public addMultipleClasses(element: any, className: string): void {if (element.classList) {let styles: string[] = className.split(' ');for (let i = 0; i < styles.length; i++) {element.classList.add(styles[i]);}}else {let styles: string[] = className.split(' ');for (let i = 0; i < styles.length; i++) {element.className += ' ' + styles[i];}}}public removeClass(element: any, className: string): void {if (element.classList)element.classList.remove(className);elseelement.className = element.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');}public hasClass(element: any, className: string): boolean {if (element.classList)return element.classList.contains(className);elsereturn new RegExp('(^| )' + className + '( |$)', 'gi').test(element.className);}public siblings(element: any): any {return Array.prototype.filter.call(element.parentNode.children, function (child) {return child !== element;});}public find(element: any, selector: string): any[] {return element.querySelectorAll(selector);}public findSingle(element: any, selector: string): any {return element.querySelector(selector);}public index(element: any): number {let children = element.parentNode.childNodes;let num = 0;for (var i = 0; i < children.length; i++) {if (children[i] == element) return num;if (children[i].nodeType == 1) num++;}return -1;}public relativePosition(element: any, target: any): void {let elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : this.getHiddenElementDimensions(element);let targetHeight = target.offsetHeight;let targetWidth = target.offsetWidth;let targetOffset = target.getBoundingClientRect();let windowScrollTop = this.getWindowScrollTop();let viewport = this.getViewport();let top, left;if ((targetOffset.top + targetHeight + elementDimensions.height) > viewport.height) {top = -1 * (elementDimensions.height);if(targetOffset.top + top < 0) {top = 0;}}else {top = targetHeight;}if ((targetOffset.left + elementDimensions.width) > viewport.width)left = targetWidth - elementDimensions.width;elseleft = 0;element.style.top = top + 'px';element.style.left = left + 'px';}public absolutePosition(element: any, target: any): void {let elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : this.getHiddenElementDimensions(element);let elementOuterHeight = elementDimensions.height;let elementOuterWidth = elementDimensions.width;let targetOuterHeight = target.offsetHeight;let targetOuterWidth = target.offsetWidth;let targetOffset = target.getBoundingClientRect();let windowScrollTop = this.getWindowScrollTop();let windowScrollLeft = this.getWindowScrollLeft();let viewport = this.getViewport();let top, left;if (targetOffset.top + targetOuterHeight + elementOuterHeight > viewport.height) {top = targetOffset.top + windowScrollTop - elementOuterHeight;if(top < 0) {top = 0 + windowScrollTop;}}else {top = targetOuterHeight + targetOffset.top + windowScrollTop;}if (targetOffset.left + targetOuterWidth + elementOuterWidth > viewport.width)left = targetOffset.left + windowScrollLeft + targetOuterWidth - elementOuterWidth;elseleft = targetOffset.left + windowScrollLeft;element.style.top = top + 'px';element.style.left = left + 'px';}public getHiddenElementOuterHeight(element: any): number {element.style.visibility = 'hidden';element.style.display = 'block';let elementHeight = element.offsetHeight;element.style.display = 'none';element.style.visibility = 'visible';return elementHeight;}public getHiddenElementOuterWidth(element: any): number {element.style.visibility = 'hidden';element.style.display = 'block';let elementWidth = element.offsetWidth;element.style.display = 'none';element.style.visibility = 'visible';return elementWidth;}public getHiddenElementDimensions(element: any): any {let dimensions: any = {};element.style.visibility = 'hidden';element.style.display = 'block';dimensions.width = element.offsetWidth;dimensions.height = element.offsetHeight;element.style.display = 'none';element.style.visibility = 'visible';return dimensions;}public scrollInView(container, item) {let borderTopValue: string = getComputedStyle(container).getPropertyValue('borderTopWidth');let borderTop: number = borderTopValue ? parseFloat(borderTopValue) : 0;let paddingTopValue: string = getComputedStyle(container).getPropertyValue('paddingTop');let paddingTop: number = paddingTopValue ? parseFloat(paddingTopValue) : 0;let containerRect = container.getBoundingClientRect();let itemRect = item.getBoundingClientRect();let offset = (itemRect.top + document.body.scrollTop) - (containerRect.top + document.body.scrollTop) - borderTop - paddingTop;let scroll = container.scrollTop;let elementHeight = container.clientHeight;let itemHeight = this.getOuterHeight(item);if (offset < 0) {container.scrollTop = scroll + offset;}else if ((offset + itemHeight) > elementHeight) {container.scrollTop = scroll + offset - elementHeight + itemHeight;}}public fadeIn(element, duration: number): void {element.style.opacity = 0;let last = +new Date();let opacity = 0;let tick = function () {opacity = +element.style.opacity + (new Date().getTime() - last) / duration;element.style.opacity = opacity;last = +new Date();if (+opacity < 1) {(window.requestAnimationFrame && requestAnimationFrame(tick)) || setTimeout(tick, 16);}};tick();}public fadeOut(element, ms) {var opacity = 1,interval = 50,duration = ms,gap = interval / duration;let fading = setInterval(() => {opacity = opacity - gap;if (opacity <= 0) {opacity = 0;clearInterval(fading);}element.style.opacity = opacity;}, interval);}public getWindowScrollTop(): number {let doc = document.documentElement;return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);}public getWindowScrollLeft(): number {let doc = document.documentElement;return (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);}public matches(element, selector: string): boolean {var p = Element.prototype;var f = p['matches'] || p.webkitMatchesSelector || p['mozMatchesSelector'] || p.msMatchesSelector || function (s) {return [].indexOf.call(document.querySelectorAll(s), this) !== -1;};return f.call(element, selector);}public getOuterWidth(el, margin?) {let width = el.offsetWidth;if (margin) {let style = getComputedStyle(el);width += parseFloat(style.marginLeft) + parseFloat(style.marginRight);}return width;}public getHorizontalPadding(el) {let style = getComputedStyle(el);return parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);}public getHorizontalMargin(el) {let style = getComputedStyle(el);return parseFloat(style.marginLeft) + parseFloat(style.marginRight);}public innerWidth(el) {let width = el.offsetWidth;let style = getComputedStyle(el);width += parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);return width;}public width(el) {let width = el.offsetWidth;let style = getComputedStyle(el);width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);return width;}public getInnerHeight(el) {let height = el.offsetHeight;let style = getComputedStyle(el);height += parseFloat(style.paddingTop) + parseFloat(style.paddingBottom);return height;}public getOuterHeight(el, margin?) {let height = el.offsetHeight;if (margin) {let style = getComputedStyle(el);height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);}return height;}public getHeight(el): number {let height = el.offsetHeight;let style = getComputedStyle(el);height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);return height;}public getWidth(el): number {let width = el.offsetWidth;let style = getComputedStyle(el);width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);return width;}public getViewport(): any {let win = window,d = document,e = d.documentElement,g = d.getElementsByTagName('body')[0],w = win.innerWidth || e.clientWidth || g.clientWidth,h = win.innerHeight || e.clientHeight || g.clientHeight;return { width: w, height: h };}public getOffset(el) {let rect = el.getBoundingClientRect();return {top: rect.top + document.body.scrollTop,left: rect.left + document.body.scrollLeft};}getUserAgent(): string {return navigator.userAgent;}isIE() {var ua = window.navigator.userAgent;var msie = ua.indexOf('MSIE ');if (msie > 0) {// IE 10 or older => return version numberreturn true;}var trident = ua.indexOf('Trident/');if (trident > 0) {// IE 11 => return version numbervar rv = ua.indexOf('rv:');return true;}var edge = ua.indexOf('Edge/');if (edge > 0) {// Edge (IE 12+) => return version numberreturn true;}// other browserreturn false;}appendChild(element: any, target: any) {if(this.isElement(target))target.appendChild(element);else if(target.el && target.el.nativeElement)target.el.nativeElement.appendChild(element);elsethrow 'Cannot append ' + target + ' to ' + element;}removeChild(element: any, target: any) {if(this.isElement(target))target.removeChild(element);else if(target.el && target.el.nativeElement)target.el.nativeElement.removeChild(element);elsethrow 'Cannot remove ' + element + ' from ' + target;}isElement(obj: any) {return (typeof HTMLElement === "object" ? obj instanceof HTMLElement :obj && typeof obj === "object" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === "string");}calculateScrollbarWidth(): number {if(this.calculatedScrollbarWidth !== null)return this.calculatedScrollbarWidth;let scrollDiv = document.createElement("div");scrollDiv.className = "ui-scrollbar-measure";document.body.appendChild(scrollDiv);let scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;document.body.removeChild(scrollDiv);this.calculatedScrollbarWidth = scrollbarWidth;return scrollbarWidth;}public invokeElementMethod(element: any, methodName: string, args?: any[]): void {(element as any)[methodName].apply(element, args);}public clearSelection(): void {if(window.getSelection) {if(window.getSelection().empty) {window.getSelection().empty();} else if(window.getSelection().removeAllRanges && window.getSelection().rangeCount > 0 && window.getSelection().getRangeAt(0).getClientRects().length > 0) {window.getSelection().removeAllRanges();}}else if(document['selection'] && document['selection'].empty) {try {document['selection'].empty();} catch(error) {//ignore IE bug}}}
}

转载于:https://my.oschina.net/u/3625236/blog/3016853

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Memory Pool 预习知识-PDP-10 MACLISP的数据表达

    这是MIT Guy Lewis Steele Jr于1977年9月的一篇论文关于PDP-10 MAC LISP的数据表达,是大多数内存池的实现原型。关于作者不用多说了,自己看吧http://en.wikipedia.org/wiki/Guy_L._Steele,_Jr. Introduction MacLISP是LISP中的一种,它不仅仅是一种用户程序语言,它可以作为系…...

    2024/5/10 8:54:22
  2. Angular4 - 组件

    Angular4 - 组件 1. Component 组成如上图所示&#xff1a; 红色框内的内容是AppComponent, 绿色是HeaderConponent, 黄色是SideBarComponent, 橘色是MainComponent。 这样说可能不太准确&#xff0c;因为我们看到的只是html&#xff0c;并不是完整的Component, 这里看到的只是…...

    2024/4/20 4:02:42
  3. python基础学习

    python学习地址: http://www.w3cschool.cc/python/python-intro.html http://www.imooc.com/learn/177 官方文档中文站: http://python.usyiyi.cn/ 视频学习: http://edu.51cto.com/course/course_id-527.html文档编写: http://zh-sphinx-doc.readthedocs.org/en/latest/co…...

    2024/4/21 3:06:53
  4. 用于Visual Studio的ASP.NET Core + Angular 2模板

    用于Visual Studio的ASP.NET Core Angular 2模板 既然ASP.NET Core&#xff0c;Angular 2和TypeScript 2都已经发布了最终版本&#xff0c;那么现在是将它们全部组合到一个功能强大的富Web应用程序平台中的好时机。 发布于2016年10月4日 很多个月以来&#xff0c;我一直在G…...

    2024/4/30 18:00:55
  5. 基于angularjs1.x的自定义滚动条插件

    在用angular1.x作为项目的前台开发框架时&#xff0c;无法避免的会遇到需要在项目里使用第三方插件的情况&#xff08;比如用来绘制表格或统计图&#xff09;&#xff0c;有时候插件的功能并不能满足我们的需要&#xff08;比如绘制表格和绘图插件不包含滚动条&#xff0c;而表…...

    2024/4/21 3:06:51
  6. Angular2 + Webpack项目搭建Demo

    本文将从头开始编写实际的代码来完成一个angular2的demo。 题外话是其实angular2官网的快速开始项目已经很酷炫了&#xff0c;但其侧重快速二字&#xff0c;只够拿来练习玩耍&#xff0c;倒是github上确实已经有了一些不错的angular2-starter。 1. 安装必要的node环境与npm 当然…...

    2024/4/29 7:14:24
  7. 关于做angular引入echarts图表、时间轴

    1. echarts图&#xff1a; 1> 首先在项目中需要安装一下 npm install echarts --save 2> 然后再引入到项目angular.json的scripts中 "scripts": ["node_modules/echarts/dist/echarts.min.js",] 3> html中使用 <div id"echartId"…...

    2024/4/26 17:54:27
  8. angular4自适应navbar

    说明 这个navbar是练习的时候做的最初版本&#xff0c;根据浏览器宽度来自动一个一个收缩navbar的标签&#xff0c;里面有许多不足之处 &#xff0c;请各位大神多多指教。 完成图 插件 所用插件为 JQ,BOOTSTRAP,fontawesome navbar组件 navbar.component.ts 通过本地数组对…...

    2024/4/21 3:06:47
  9. [Angular实战网易云]——26、登录/登出

    登录实现 就目前的进度来看&#xff0c;是没有实现token验证的&#xff0c;所以所有的登录也只是简单的验证账密&#xff0c;即使账密的复写也只是存在localstorage内存中的&#xff0c;所以关于更加安全的登录不知道后面会不会修改。 切换弹窗页面 开始实现的default页面…...

    2024/4/21 3:06:46
  10. Angular 4.0从入门到实战

    AngularJS 优点 模板功能强大丰富&#xff0c;并且是声明式的&#xff0c;自带了丰富的Angular指令&#xff1b;是一个比较完善的前端MVC框架&#xff0c;包含模板&#xff0c;数据双向绑定&#xff0c;路由&#xff0c;模块化&#xff0c;服务&#xff0c;过滤器&#xff0c…...

    2024/4/21 3:06:45
  11. Angular 图片预览组件

    写在前面 环境 &#xff1a;Angular8 图片预览组件实现的功能包括&#xff1a;全屏查看&#xff1b;放大、缩小&#xff08; 鼠标滚轮可放大、缩小图片&#xff09;&#xff1b;翻页&#xff08; 键盘左右按键翻页&#xff09;&#xff1b;旋转&#xff1b;拖拽 功能实现 首…...

    2024/4/21 3:06:45
  12. Angular实现悬浮球组件

    Angular实现悬浮球组件 在手机 App 上,我们经常会看到悬浮球的东东,用着可能很舒服,但是 web 网页上却很少见,今天我们就通过 Angular 来实现,当然使用其他框架也是可以的。 功能要求: 支持设置直径支持点击触发信号支持设置鼠标按压时间实现的过程中省略的部分天填坑过…...

    2024/5/5 22:58:42
  13. angular2-scroll-module

    这篇介绍一下&#xff0c;写一个自己的angular2滚动监听插件 目录结构&#xff1a; /scrollModule: ztw-scroll.module.ts; scrollBind.directive.ts; scroll.directive.ts; scroll.service.ts; 使用&#xff1a; ({template:<div ztwScrollBind> …...

    2024/4/21 3:06:42
  14. angular8.0 webpack配置将px自动转rem

    一、在项目中安装angular-builders、postcss-loader、css-loader&#xff08;less就装less-loader&#xff09;、postcss-pxtorem npm i -D angular-builders/custom-webpack npm i --save-dev postcss-loader autoprefixer npm i css-loader npm i postcss-pxtorem 二、在项…...

    2024/4/21 3:06:41
  15. 根据服务器返回的状态改变前端显示的内容(Angular 过滤器)

    最近在做一个以Angular为框架的单页面网页应用。遇到这样一个小问题&#xff0c;就是前端的显示内容得根据后端返回的内容决定。举个栗子&#xff0c;前端要显示一个关于课程的列表&#xff0c;每个课程都有一个状态值&#xff0c;可以显示为“已上线”、“未上线”、“已结课”…...

    2024/5/3 9:14:20
  16. angular6 xml文件解析成json数据,json数据生成xml

    1. 从后台读取xml数据&#xff0c;读取结果&#xff0c;话不多说&#xff0c;直接上代码 var kk "<root><satellite>GF3</satellite><sensor>SAR</sensor><level>LEVEL1A</level><startTime>2017-01-20 11:02:34.57118…...

    2024/5/3 2:16:00
  17. AngularJs返回前一页面时刷新一次前面页面

    分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;要求&#xff1a;页面A进入到页面B&#xff…...

    2024/5/2 20:14:04
  18. 如何让antd的Modal组件的确认和取消不显示(或自定义按钮)

    使用Modal中的footer属性,如下:<Modaltitle="更改成员"visible={visible}confirmLoading={confirmLoading}onCancel={this.handleCancel}footer={[] // 设置footer为空,去掉 取消 确定默认按钮}></Modal>这样就去掉了确认和取消按钮也可以自定义按钮。…...

    2024/4/20 20:12:49
  19. angular 后端返回非json格式如何引用记录

    主要代码 {responseType: ‘text’} 例子: public getToken(body: IToken): Observable<any> {// 这边后端没有返回json格式 ,后面要改 todoreturn this._http.post(/api/token?userId${body.userId}&deptId${body.deptId}, null, {responseType: text});}this._a…...

    2024/4/20 20:12:48
  20. angular 获取json字符串

    一.使用 angular获取字符串需要将所需要的字符串导入工程项目中,然后再进行对字符串元素获取的操作 二.进行代码展示 <!DOCTYPE html> <html> <head><meta charset"UTF-8"><script type"text/javascript" src"angular-1…...

    2024/5/3 4:58:47

最新文章

  1. 领导者【 同心协力、合理自主、才有尊严、等待时机是一种艺术】

    人事管理&#xff1a;人的事务的管理 人力自动化&#xff08;自动、自发&#xff09; 尽力而为&#xff08;部份投入&#xff09; VS 全力以赴&#xff08;全心全力&#xff09; 人人尽职&#xff08;本位主义&#xff09; VS 同心协力&#xff08;整体&#xff09; 短暂忠…...

    2024/5/10 18:44:28
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/9 21:23:04
  3. DevOps三步法之反馈:流动是油门,反馈是刹车

    打个比方&#xff0c;流动是油门&#xff0c;反馈是刹车。流动是关于行使&#xff0c;反馈是关于安全。车辆要想持续平稳运行&#xff0c;需要油门与刹车良好配合&#xff0c;否则就有可能车毁人亡。核电站需要使核反应处于临界状态&#xff0c;超出临界状态就是核爆炸这也需要…...

    2024/5/10 0:20:18
  4. 大数据学习十三天(hadhoop基础2)

    一: MapReduce概述(了解) MapReduce是hadoop三大组件之一,是分布式计算组件 Map阶段 : 将数据拆分到不同的服务器后执行Maptask任务,得到一个中间结果 Reduce阶段 : 将Maptask执行的结果进行汇总,按照Reducetask的计算 规则获得一个唯一的结果 我们在MapReduce计算框架的使用过…...

    2024/5/10 0:16:48
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/10 12:36:12
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/9 15:10:32
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/9 4:20:59
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/7 11:36:39
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/8 20:48:49
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/7 9:26:26
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/8 19:33:07
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/8 20:38:49
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/10 10:22:18
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/9 17:11:10
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57