本博客将展示使用AngularJS和Spring MVC4,我们将创建一个增删查改的应用。前端使用AngularJS,后端使用Spring REST API。AngularJS使用$http服务和后端进行异步通信,同时使用AngularJS进行表单验证。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    在本应用中,客户端是基于AngularJS,服务器端基于Spring REST API。最终本应用界面如下:

功能展示:
   只是为了展示后台使用模拟数据,你也可以进一步扩展程序使所有的数据都保存到数据库中。

让我们开始本应用开发。

所涉及到的技术点为:

  • Spring 4.3.1.RELEASE
  • AngularJS 1.4.4
  • Maven 3
  • JDK 1.7
  • Eclipse JUNO Service Release 2
  • M2Eclipse plugin (Optional)
项目目录结构如下:

maven依赖库如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.websystique.springmvc</groupId><artifactId>Spring4MVCAngularJSExample</artifactId><packaging>war</packaging><version>1.0.0</version><name>Spring4MVCAngularJSExample Maven Webapp</name><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><springframework.version>4.3.1.RELEASE</springframework.version><jackson.version>2.7.5</jackson.version></properties><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${springframework.version}</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>${jackson.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.2</version><configuration><source>1.7</source><target>1.7</target></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>2.4</version><configuration><warSourceDirectory>src/main/webapp</warSourceDirectory><warName>Spring4MVCAngularJSExample</warName><failOnMissingWebXml>false</failOnMissingWebXml></configuration></plugin></plugins><finalName>Spring4MVCAngularJSExample</finalName></build>
</project>

1,前端部分
本应用前端是基于angularjs框架的。如果你想增加angularJS的开发水平建议把angularJS官方文档学习一遍,AngularJS是比较流行的前端框架。


创建AngularJS模块
模块是AngularJS应用中最重要的一部分,一个模块可被认为是java中的一个包。模块中可以包含应用的各个部分,控制器,服务,过滤器,指令等。

模块可以被用于AngularJS作为整个程序启动程序。通过增加ng-model这个指令我们能告诉AngularJS从哪里开始作为应用的入口程序。如下是我们定义的模块。想要了解AngularJS模块相关的概念,请阅读官方文档。

app.js

'use strict';var App = angular.module('myApp',[]);

创建AngularJS服务与服务器进行通信
在我们的应用中,我们将和Spring REST API后台进行通信,前端部分我们将使用AngularJS内建的$http服务。AngularJS 的$http服务封装了XHR对象方便我们
与服务器进行数据交互。$http是基于promise对象传递异步消息。本应用的service如下:

user_service.js

'use strict';angular.module('myApp').factory('UserService', ['$http', '$q', function($http, $q){var REST_SERVICE_URI = 'http://localhost:8080/Spring4MVCAngularJSExample/user/';var factory = {fetchAllUsers: fetchAllUsers,createUser: createUser,updateUser:updateUser,deleteUser:deleteUser};return factory;function fetchAllUsers() {var deferred = $q.defer();$http.get(REST_SERVICE_URI).then(function (response) {deferred.resolve(response.data);},function(errResponse){console.error('Error while fetching Users');deferred.reject(errResponse);});return deferred.promise;}function createUser(user) {var deferred = $q.defer();$http.post(REST_SERVICE_URI, user).then(function (response) {deferred.resolve(response.data);},function(errResponse){console.error('Error while creating User');deferred.reject(errResponse);});return deferred.promise;}function updateUser(user, id) {var deferred = $q.defer();$http.put(REST_SERVICE_URI+id, user).then(function (response) {deferred.resolve(response.data);},function(errResponse){console.error('Error while updating User');deferred.reject(errResponse);});return deferred.promise;}function deleteUser(id) {var deferred = $q.defer();$http.delete(REST_SERVICE_URI+id).then(function (response) {deferred.resolve(response.data);},function(errResponse){console.error('Error while deleting User');deferred.reject(errResponse);});return deferred.promise;}}]);

请注意如上url部分的硬编码 [http://localhost:8080/],在发布的时候要根据具体的主机/端口号进行调整。

创建AngularJS控制器
控制器是AngularJS应用中最有用的部分,UI中大多数的操作都需要在controller中进行逻辑控制,可被认为是模型和视图改变的驱动程序。是模型和视图之间的网关。控制器主要的职责是为UI提供数据,数据可以是静态的也可以是来自服务器端的,管理展示逻辑,例如什么元素该显示什么元素该隐藏,需要用什么主题等。处理用户输入,例如当用户点击某一控件是会发生什么,输入的数据是否是有效的,处理用户的数据并发给服务器。

user_controller.js

'use strict';angular.module('myApp').controller('UserController', ['$scope', 'UserService', function($scope, UserService) {var self = this;self.user={id:null,username:'',address:'',email:''};self.users=[];self.submit = submit;self.edit = edit;self.remove = remove;self.reset = reset;fetchAllUsers();function fetchAllUsers(){UserService.fetchAllUsers().then(function(d) {self.users = d;},function(errResponse){console.error('Error while fetching Users');});}function createUser(user){UserService.createUser(user).then(fetchAllUsers,function(errResponse){console.error('Error while creating User');});}function updateUser(user, id){UserService.updateUser(user, id).then(fetchAllUsers,function(errResponse){console.error('Error while updating User');});}function deleteUser(id){UserService.deleteUser(id).then(fetchAllUsers,function(errResponse){console.error('Error while deleting User');});}function submit() {if(self.user.id===null){console.log('Saving New User', self.user);createUser(self.user);}else{updateUser(self.user, self.user.id);console.log('User updated with id ', self.user.id);}reset();}function edit(id){console.log('id to be edited', id);for(var i = 0; i < self.users.length; i++){if(self.users[i].id === id) {self.user = angular.copy(self.users[i]);break;}}}function remove(id){console.log('id to be deleted', id);if(self.user.id === id) {//clean form if the user to be deleted is shown there.reset();}deleteUser(id);}function reset(){self.user={id:null,username:'',address:'',email:''};$scope.myForm.$setPristine(); //reset Form}}]);

为Spring MVC应用创建视图
本应用我们展示传统的方式完成视图创建,使用JSP封装AngularJS的方式。你也可以创建纯html文件,为了界面美观我们添加了bootstrap,同时增加表单验证功能。

UserManagement.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html><head>  <title>AngularJS $http Example</title>  <style>.username.ng-valid {background-color: lightgreen;}.username.ng-dirty.ng-invalid-required {background-color: red;}.username.ng-dirty.ng-invalid-minlength {background-color: yellow;}.email.ng-valid {background-color: lightgreen;}.email.ng-dirty.ng-invalid-required {background-color: red;}.email.ng-dirty.ng-invalid-email {background-color: yellow;}</style><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"><link href="<c:url value='/static/css/app.css' />" rel="stylesheet"></link></head><body ng-app="myApp" class="ng-cloak"><div class="generic-container" ng-controller="UserController as ctrl"><div class="panel panel-default"><div class="panel-heading"><span class="lead">User Registration Form </span></div><div class="formcontainer"><form ng-submit="ctrl.submit()" name="myForm" class="form-horizontal"><input type="hidden" ng-model="ctrl.user.id" /><div class="row"><div class="form-group col-md-12"><label class="col-md-2 control-lable" for="uname">Name</label><div class="col-md-7"><input type="text" ng-model="ctrl.user.username" id="uname" class="username form-control input-sm" placeholder="Enter your name" required ng-minlength="3"/><div class="has-error" ng-show="myForm.$dirty"><span ng-show="myForm.uname.$error.required">This is a required field</span><span ng-show="myForm.uname.$error.minlength">Minimum length required is 3</span><span ng-show="myForm.uname.$invalid">This field is invalid </span></div></div></div></div><div class="row"><div class="form-group col-md-12"><label class="col-md-2 control-lable" for="address">Address</label><div class="col-md-7"><input type="text" ng-model="ctrl.user.address" id="address" class="form-control input-sm" placeholder="Enter your Address. [This field is validation free]"/></div></div></div><div class="row"><div class="form-group col-md-12"><label class="col-md-2 control-lable" for="email">Email</label><div class="col-md-7"><input type="email" ng-model="ctrl.user.email" id="email" class="email form-control input-sm" placeholder="Enter your Email" required/><div class="has-error" ng-show="myForm.$dirty"><span ng-show="myForm.email.$error.required">This is a required field</span><span ng-show="myForm.email.$invalid">This field is invalid </span></div></div></div></div><div class="row"><div class="form-actions floatRight"><input type="submit"  value="{{!ctrl.user.id ? 'Add' : 'Update'}}" class="btn btn-primary btn-sm" ng-disabled="myForm.$invalid"><button type="button" ng-click="ctrl.reset()" class="btn btn-warning btn-sm" ng-disabled="myForm.$pristine">Reset Form</button></div></div></form></div></div><div class="panel panel-default"><!-- Default panel contents --><div class="panel-heading"><span class="lead">List of Users </span></div><div class="tablecontainer"><table class="table table-hover"><thead><tr><th>ID.</th><th>Name</th><th>Address</th><th>Email</th><th width="20%"></th></tr></thead><tbody><tr ng-repeat="u in ctrl.users"><td><span ng-bind="u.id"></span></td><td><span ng-bind="u.username"></span></td><td><span ng-bind="u.address"></span></td><td><span ng-bind="u.email"></span></td><td><button type="button" ng-click="ctrl.edit(u.id)" class="btn btn-success custom-width">Edit</button>  <button type="button" ng-click="ctrl.remove(u.id)" class="btn btn-danger custom-width">Remove</button></td></tr></tbody></table></div></div></div><script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.js"></script><script src="<c:url value='/static/js/app.js' />"></script><script src="<c:url value='/static/js/service/user_service.js' />"></script><script src="<c:url value='/static/js/controller/user_controller.js' />"></script></body>
</html>

2,服务器端
使用Spring MVC创建REST应用,代码如下:

package com.websystique.springmvc.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.util.UriComponentsBuilder;import com.websystique.springmvc.model.User;
import com.websystique.springmvc.service.UserService;@RestController
public class HelloWorldRestController {@AutowiredUserService userService;  //Service which will do all data retrieval/manipulation work//-------------------Retrieve All Users--------------------------------------------------------@RequestMapping(value = "/user/", method = RequestMethod.GET)public ResponseEntity<List<User>> listAllUsers() {List<User> users = userService.findAllUsers();if(users.isEmpty()){return new ResponseEntity<List<User>>(HttpStatus.NO_CONTENT);//You many decide to return HttpStatus.NOT_FOUND}return new ResponseEntity<List<User>>(users, HttpStatus.OK);}//-------------------Retrieve Single User--------------------------------------------------------@RequestMapping(value = "/user/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)public ResponseEntity<User> getUser(@PathVariable("id") long id) {System.out.println("Fetching User with id " + id);User user = userService.findById(id);if (user == null) {System.out.println("User with id " + id + " not found");return new ResponseEntity<User>(HttpStatus.NOT_FOUND);}return new ResponseEntity<User>(user, HttpStatus.OK);}//-------------------Create a User--------------------------------------------------------@RequestMapping(value = "/user/", method = RequestMethod.POST)public ResponseEntity<Void> createUser(@RequestBody User user,    UriComponentsBuilder ucBuilder) {System.out.println("Creating User " + user.getUsername());if (userService.isUserExist(user)) {System.out.println("A User with name " + user.getUsername() + " already exist");return new ResponseEntity<Void>(HttpStatus.CONFLICT);}userService.saveUser(user);HttpHeaders headers = new HttpHeaders();headers.setLocation(ucBuilder.path("/user/{id}").buildAndExpand(user.getId()).toUri());return new ResponseEntity<Void>(headers, HttpStatus.CREATED);}//------------------- Update a User --------------------------------------------------------@RequestMapping(value = "/user/{id}", method = RequestMethod.PUT)public ResponseEntity<User> updateUser(@PathVariable("id") long id, @RequestBody User user) {System.out.println("Updating User " + id);User currentUser = userService.findById(id);if (currentUser==null) {System.out.println("User with id " + id + " not found");return new ResponseEntity<User>(HttpStatus.NOT_FOUND);}currentUser.setUsername(user.getUsername());currentUser.setAddress(user.getAddress());currentUser.setEmail(user.getEmail());userService.updateUser(currentUser);return new ResponseEntity<User>(currentUser, HttpStatus.OK);}//------------------- Delete a User --------------------------------------------------------@RequestMapping(value = "/user/{id}", method = RequestMethod.DELETE)public ResponseEntity<User> deleteUser(@PathVariable("id") long id) {System.out.println("Fetching & Deleting User with id " + id);User user = userService.findById(id);if (user == null) {System.out.println("Unable to delete. User with id " + id + " not found");return new ResponseEntity<User>(HttpStatus.NOT_FOUND);}userService.deleteUserById(id);return new ResponseEntity<User>(HttpStatus.NO_CONTENT);}//------------------- Delete All Users --------------------------------------------------------@RequestMapping(value = "/user/", method = RequestMethod.DELETE)public ResponseEntity<User> deleteAllUsers() {System.out.println("Deleting All Users");userService.deleteAllUsers();return new ResponseEntity<User>(HttpStatus.NO_CONTENT);}}

创建程序的根controller
如下为程序的根目录对应的controller

package com.websystique.springmvc.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;@Controller
@RequestMapping("/")
public class IndexController {@RequestMapping(method = RequestMethod.GET)public String getIndexPage() {return "UserManagement";}}

创建Spring Service处理用户提交的数据。

package com.websystique.springmvc.service;import java.util.List;import com.websystique.springmvc.model.User;public interface UserService {User findById(long id);User findByName(String name);void saveUser(User user);void updateUser(User user);void deleteUserById(long id);List<User> findAllUsers(); void deleteAllUsers();public boolean isUserExist(User user);}

package com.websystique.springmvc.service;import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.atomic.AtomicLong;import org.springframework.stereotype.Service;import com.websystique.springmvc.model.User;@Service("userService")
public class UserServiceImpl implements UserService{private static final AtomicLong counter = new AtomicLong();private static List<User> users;static{users= populateDummyUsers();}public List<User> findAllUsers() {return users;}public User findById(long id) {for(User user : users){if(user.getId() == id){return user;}}return null;}public User findByName(String name) {for(User user : users){if(user.getUsername().equalsIgnoreCase(name)){return user;}}return null;}public void saveUser(User user) {user.setId(counter.incrementAndGet());users.add(user);}public void updateUser(User user) {int index = users.indexOf(user);users.set(index, user);}public void deleteUserById(long id) {for (Iterator<User> iterator = users.iterator(); iterator.hasNext(); ) {User user = iterator.next();if (user.getId() == id) {iterator.remove();}}}public boolean isUserExist(User user) {return findByName(user.getUsername())!=null;}public void deleteAllUsers(){users.clear();}private static List<User> populateDummyUsers(){List<User> users = new ArrayList<User>();users.add(new User(counter.incrementAndGet(),"Sam", "NY", "sam@abc.com"));users.add(new User(counter.incrementAndGet(),"Tomy", "ALBAMA", "tomy@abc.com"));users.add(new User(counter.incrementAndGet(),"Kelly", "NEBRASKA", "kelly@abc.com"));return users;}}

创建模型

package com.websystique.springmvc.model;public class User {private long id;private String username;private String address;private String email;public User(){id=0;}public User(long id, String username, String address, String email){this.id = id;this.username = username;this.address = address;this.email = email;}public long getId() {return id;}public void setId(long id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + (int) (id ^ (id >>> 32));return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (!(obj instanceof User))return false;User other = (User) obj;if (id != other.id)return false;return true;}@Overridepublic String toString() {return "User [id=" + id + ", username=" + username + ", address=" + address+ ", email=" + email + "]";}}

创建Spring配置文件
package com.websystique.springmvc.configuration;import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.websystique.springmvc")
public class HelloWorldConfiguration extends WebMvcConfigurerAdapter{@Overridepublic void configureViewResolvers(ViewResolverRegistry registry) {InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();viewResolver.setViewClass(JstlView.class);viewResolver.setPrefix("/WEB-INF/views/");viewResolver.setSuffix(".jsp");registry.viewResolver(viewResolver);}@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/static/**").addResourceLocations("/static/");}}

创建Spring初始化类
看如下代码是如何配置CORS过滤的,帮助我们处理同源策略问题。
package com.websystique.springmvc.configuration;import javax.servlet.Filter;import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;public class HelloWorldInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {@Overrideprotected Class<?>[] getRootConfigClasses() {return new Class[] { HelloWorldConfiguration.class };}@Overrideprotected Class<?>[] getServletConfigClasses() {return null;}@Overrideprotected String[] getServletMappings() {return new String[] { "/" };}@Overrideprotected Filter[] getServletFilters() {Filter [] singleton = { new CORSFilter() };return singleton;}}

创建过滤器处理同源策略问题
package com.websystique.springmvc.configuration;import java.io.IOException;import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;public class CORSFilter implements Filter {public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {System.out.println("Filtering on...........................................................");HttpServletResponse response = (HttpServletResponse) res;response.setHeader("Access-Control-Allow-Origin", "*");response.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE");response.setHeader("Access-Control-Max-Age", "3600");response.setHeader("Access-Control-Allow-Headers", "X-requested-with, Content-Type");chain.doFilter(req, res);}public void init(FilterConfig filterConfig) {}public void destroy() {}}

部署和运行
现在可以创建一个war包或者通过maven命令打包程序,发布war到Servlet3.0容器中,本次开发使用的Tomcat,仅仅需要将war包放到tomcat的webapps目录
下,点击startup.bat即可启动服务器。
打开浏览器并输入http://localhost:8080/Spring4MVCAngularJSExample/将能看到如下界面:


新增用户:


点击新增后,用户信息将会异步发送到服务器并新增一条记录


点击删除后,用户信息将被删除


点击编辑后用户信息将会显示到表单中方便更新。还有部分功能就不演示了。
项目代码: https://github.com/yuanlunchuan/spring4Angular
csdn下载地址:http://download.csdn.net/detail/u010381707/9677924



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

相关文章

  1. trackr: An AngularJS app with a Java 8 backend – Part II

    该系列文章来自techdev The Frontend 在本系列的第一部分我们已经描述RESTful端建立在Java 8和Spring。这一部分将介绍我们的第一个用 AngularJS建造的客户端应用程序。 我们使用trackr跟踪我们的工作时间,旅行费用和假期请求。因此我们需要两个基本的管理界面为所有实体以及高…...

    2024/4/21 4:59:36
  2. AngularJS 使用总结

    AngularJS 使用 一、AngularJs 路由的使用 1. 路由的作用 从技术上来说AJAX应用确实是单页面应用(即在第一个请求时加载一个HTML页面&#xff0c;后面只刷新DOM中的局部区域)&#xff0c;但是很多时候&#xff0c;出于各种原因&#xff0c;我们需要为用户展示或隐藏一些子页面…...

    2024/4/21 4:59:36
  3. 3.1.JavaWeb开发环境配置

    javaweb开发配置从开机到完成第一个javaweb项目&#xff08;1&#xff09;1.配置环境1.0 简要分析1.1 java开发环境java简介&#xff1a;版本选择&#xff1a;语言优势&#xff1a;术语解释&#xff1a;编码问题&#xff1a;安装jdk环境&#xff1a;1.2 java常用开发工具工具选…...

    2024/4/20 19:38:52
  4. 使用Yeoman快速启动AngularJS项目开发

    前言 博客迁移到了BAE上&#xff0c;http://owenchen.duapp.com/&#xff0c;以后的文章会首发在自己的博客上&#xff0c;随后在博客园发布。 很久没有写文章了&#xff0c;一是项目比较忙&#xff0c;二来自己在尝试一些互联网新的产品&#xff0c;以微信平台开发为主&#x…...

    2024/4/20 19:38:52
  5. springboot+vue+element-ui全栈开发入门--开篇

    目前流行的“前后端分离”技术足够简单&#xff0c;足够方便&#xff0c;足够易学&#xff0c;也足够完善。 项目所使用的前端技术是&#xff1a;element-ui&#xff0c;文档地址是&#xff1a;http://element.eleme.io/#/zh-CN 一、spring boot spring boot是一种框架。它默…...

    2024/4/20 19:38:50
  6. 调用webService的几种方式

    调用webService的几种方式 标签&#xff1a; webService 2016-05-08 15:54 11957人阅读 评论(1) 收藏 举报 本文章已收录于&#xff1a; 分类&#xff1a; JAVA&#xff08;5&#xff09; 作者同类文章X版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不…...

    2024/4/20 19:38:49
  7. 在Azure DevOps中设置构建和发布管道

    在这篇文章中&#xff0c;我们将简要介绍持续集成和交付的好处&#xff0c;为什么在项目开始时进行设置&#xff0c;描述要素及其阶段以及列出设置中的常见错误&#xff0c;为何如此重要&#xff1f;构建和发布管道。 通过使用Git设置代码存储库&#xff0c;使用YAML和Azure AR…...

    2024/5/1 1:03:31
  8. Angular 2 最终版正式发布

    9月15日&#xff0c;Angular 2 的最终版正式发布了。 作为 Angular 1 的全平台继任者 -- Angular 2 的最终版&#xff0c;意味着什么&#xff1f; 意味着稳定性已经得到了大范围用例的验证&#xff1b;意味着已经针对产品化、文件尺寸和性能&#xff0c;进行了优化&#xff1b;…...

    2024/4/21 4:59:33
  9. 服务端渲染vs客户端渲染到前后端同构

    关于服务端渲染与客户端渲染的优劣&#xff0c;互联网上已经有过很多的文章进行过分析&#xff0c;在这里我谈一下我个人的见解。 首先&#xff0c;还是来老生常谈一下关于两种渲染方式的主要优劣&#xff1a; 服务端渲染&#xff08;仅列出当下最突出的优劣&#xff09;&#…...

    2024/4/21 4:59:33
  10. Angular练习之animations动画二

    返回目录 回顾 文章基于angular的练手项目。文章目录前一篇文章《Angular练习之animations动画》介绍了在angular中使用动画的基本方法。引入动画模块>创建动画对象>在动画载体上使用。我觉得其核心的内容在创建动画对象上&#xff0c;今天我们就来练习创建不同的动画对象…...

    2024/4/21 4:59:31
  11. AngularJS 动画

    AngularJS 动画 AngularJS 提供了动画效果&#xff0c;可以配合 CSS 使用。 AngularJS 使用动画需要引入 angular-animate.min.js 库。 <script src"http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular-animate.min.js"></script> 还需在应用…...

    2024/4/21 4:59:30
  12. angularjs 首次加载页面 及页面切换的动画

    angularjs提供了内置的函数让我们检测到页面的变化 $stateChangeStart 页面开始跳转 $stateChangeSuccess 页面跳转完毕 $viewContentLoaded 页面内容渲染完毕 可以轻松的用这些函数来做一些页面切换的动画,及收次加载的动画 首次加载动画指令 首次进来时页面渲染完毕…...

    2024/5/2 12:53:18
  13. angular总结1

    1.angular程序架构 注&#xff1a;模块是一处完整的单元&#xff0c;由组件、指令、服务等组成&#xff0c;像积木一样&#xff0c;组件、指令、服务如同不同颜色、大小的积木&#xff0c;而模块则是这些积木组成的一个成品&#xff0c;如汽车、楼房等 2. 组件的必备元素为&am…...

    2024/4/20 8:03:28
  14. Angular实现一个Collapse折叠面板组件

    简单分析 折叠面板由头部和内容组成&#xff0c;点击头部的时候&#xff0c;内容有一个展开和收缩的效果&#xff0c;如下图 实现过程 collapse.component.html 没什么说的直接上代码。 结构很简单&#xff0c;分成头部和面板内容两个部分&#xff0c;使用<ng-content…...

    2024/4/20 6:22:42
  15. 为页面添加Loading动画引出angular ui router的事件

    近期的项目中需要给页面加载时增加一个Loading动画&#xff0c;于是我在项目的rootController中新增了一个全局可用的基于angular material dialog的简单loading动画&#xff0c;如下&#xff1a; ts: $window["pcLoadingShow"] function(){$mdDialog.show({templat…...

    2024/4/21 4:59:26
  16. 让 Angular 应用动起来!

    【编者按】本文主要通过生动的实例&#xff0c;介绍为 Angular 应用添加动画的原理与过程。文章系国内 ITOM 管理平台 OneAPM 编译呈现。 我们知道&#xff0c;Angular 应用在更新 DOM 时&#xff0c;会直接将元素转储为视图而没有过渡&#xff0c;其默认的用户体验并不和谐。…...

    2024/4/26 15:08:12
  17. 使用Angular4动画为页面添彩

    原文&#xff1a;Angular — Supercharge your Router transitions using new animation features (v4.3)首先我们看一下效果展示的demo Basic Variation Stagger Final 样例 为了介绍这个新的动画&#xff0c;我们将用一个只有home和about页面的简单应用来做演示。我们将要用…...

    2024/4/20 13:20:29
  18. 前端实现下拉显示更多功能

    说明&#xff1a;项目由angularrequire搭建。 项目中遇到下拉页面加载更多内容效果&#xff0c;网站中已上线页面中已有相同效果&#xff0c;参照老司机代码&#xff0c;学习并总结此篇&#xff08;不一定是最简洁最优化的方法&#xff0c;抛砖引玉&#xff0c;欢迎读者朋友推…...

    2024/4/20 11:35:00
  19. Angular Component的加载触发时机

    这是一个SAP Spartacus项目&#xff0c;我新建了一个CustomBannerComponent&#xff0c;用于替换标准的 CmsComponent&#xff1a; 运行时我看见这个Component的构造函数被触发了&#xff1a; 我自己实现的TypeScript Component文件自动生成了一个工厂函数&#xff1a; 这是我所…...

    2024/4/20 17:25:53
  20. Angular2加载html页面,Angular 2:同一组件中的多个HTML页面

    我是angular 2的新手&#xff0c;我有一个名为Register的组件&#xff0c;在这1个组件中我有5个HTML页面&#xff0c;其中第一个注册页面的一次点击我将进入第二个注册页面然后点击第二个注册页面&#xff0c;我将进入第三个注册页面。如何在1个组件中创建5个HTML页面我的意思是…...

    2024/4/20 19:39:00

最新文章

  1. Rust基本特性补充

    虚幻数据PhantomData 实际上&#xff0c;结构体本身也是可以有生命周期的&#xff0c;例如: struct Tmp<a>{index: &a u32 } 上述声明中&#xff0c;虽然index为一个引用&#xff0c;但是这样声明后&#xff0c;相当于告诉编译器&#xff0c;Tmp对象的生命周期会和…...

    2024/5/2 14:43:36
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. [Linux][shell][权限] shell原理简介 + 权限细节笔记

    1.shell命令及运行原理 Linux严格意义上说的是一个操作系统&#xff0c;我们称之为"核心(kernel)" 。但我们一般用户&#xff0c;不能直接使用kernel。而是通过kernel的“外壳”程序&#xff0c;也就是所谓的shell&#xff0c;来与kernel沟通。如何理解&#xff1f;…...

    2024/4/29 11:11:29
  4. 基于AI智能识别技术的智慧展览馆视频监管方案设计

    一、建设背景 随着科技的不断进步和社会安全需求的日益增长&#xff0c;展览馆作为展示文化、艺术和科技成果的重要场所&#xff0c;其安全监控系统的智能化升级已成为当务之急。为此&#xff0c;旭帆科技&#xff08;TSINGSEE青犀&#xff09;基于视频智能分析技术推出了展览…...

    2024/4/30 17:11:11
  5. PHP获取亚马逊商品详情api接口

    亚马逊提供了一个名为Product Advertising API&#xff08;PA API&#xff09;的接口&#xff0c;可以用来获取亚马逊商品的详细信息。 要使用PA API&#xff0c;您需要进行以下几个步骤&#xff1a; 注册为亚马逊合作伙伴&#xff0c;并创建一个亚马逊开发人员账户。创建一个…...

    2024/4/30 7:47:10
  6. 【外汇早评】美通胀数据走低,美元调整

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

    2024/5/1 17:30:59
  7. 【原油贵金属周评】原油多头拥挤,价格调整

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

    2024/4/30 18:14:14
  8. 【外汇周评】靓丽非农不及疲软通胀影响

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

    2024/4/29 2:29:43
  9. 【原油贵金属早评】库存继续增加,油价收跌

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

    2024/5/2 9:28:15
  10. 【外汇早评】日本央行会议纪要不改日元强势

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

    2024/4/27 17:58:04
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

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

    2024/4/27 14:22:49
  12. 【外汇早评】美欲与伊朗重谈协议

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

    2024/4/28 1:28:33
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

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

    2024/4/30 9:43:09
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

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

    2024/4/27 17:59:30
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

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

    2024/4/25 18:39:16
  16. 【外汇早评】美伊僵持,风险情绪继续升温

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

    2024/4/28 1:34:08
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

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

    2024/4/26 19:03:37
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

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

    2024/4/29 20:46:55
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

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

    2024/4/30 22:21:04
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

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

    2024/5/1 4:32:01
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

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

    2024/4/27 23:24:42
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

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

    2024/4/28 5:48:52
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

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

    2024/4/30 9:42:22
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

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

    2024/5/2 9:07:46
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

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

    2024/4/30 9:42:49
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

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

    2022/11/19 21:17:18
  27. 错误使用 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
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,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
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:16:58
  45. 如何在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