angular8入门
一:开发环境准备
下载安装angular
Node.js,webpack,脚手架搭建
查看node版本:node –v
Angular8只支持node10以上版本
查看npm版本:npm –v
删除已安装的旧版本的angular:cnpm uninstall –g @angular/cli
删除angular安装包
清除缓存:npm cache clean --force
全局安装angular最新版本:cnpm install –g @angular/cli@latest
查看是否安装成功:ng version
gnvm管理node
下载gnvm.exe放在安装node的路径下,双击gnvm.exe运行
以管理员身份运行:gnvm version
- 使用gnvm下载node:gnvm install 6.13
- 下载最新版本的node:gnvm update latest
- 查看安装了那些node版本:gnvm ls
- 使用某个版本:gnvm use 6.11.3
创建项目:ng new demo
报错:npm ERR code ERR_STREAM_WRITE_AFTER_END
解决方法:降低npm版本:npm i –g npm@5.6.0(会有不支持node10.16.3的警告)
再重新创建:ng new demo(cmd下)
切换到目录:cd demo
运行项目:ng serve –open(angular6需node10以上)
二:基础
组件/指令
模块/路由
依赖注入
rxjs/Http
组件及组件树:
1.创建组件
在component目录下创建header组件:ng g component comments/header
2.组件内容
组件内包含:html和css和ts
3.ts文件构成
class组件类和装饰器@Component构成
装饰器:赋予类更丰富的元数据,里面可以定义组件的模板template
@Component({
selector:’hello’, //匹配hello标签
template:’<p>{{greeting}}</p>’//这个模板会被插入到hello标签里
})
export class HelloComponent{
private greeting:string; //属性声明
constructor(){
this.greeting=’Hello Angular 2’} //属性赋值
}
4.属性和对象的声明和使用(ts里)
数据类型 | 声明 | 使用 |
属性 | public name:any=’张三’ | <div [title]=”name”> |
public name:string; | ||
constructor(){ this.name=’张三’ } | ||
对象 | public userinfo:object={ name:’张三’, age:’20’ } | {{userinfo.name}} |
5.数据的使用(html里)
插值:{{greeting}}
数据绑定:属性绑定,事件绑定,双向绑定
绑定的类型 | 包含内容 | 例子 |
Html绑定 | public contant=’<div>123</div>’ <div [innerHTML]=’contant’> | |
Class绑定 | <div [ngClass]=”{ ‘box1’:ture }”> <li *ngFor=”let item of data1;let key=index” [ngClass]=”{red:key==0}”></li> | |
Style绑定 | <li [ngStyle]=”{‘color’:licolor}”></li> private licolor:ang=”red”; | |
属性绑定 | value | <input [value]=”myData”/> |
src | pubilc picUrl:string=”../../../assets/a.JPG”; <img [src]=”picUrl”> | |
事件绑定 | 键盘事件 keydown | keyDown(e){ console.log(e); console.log(e.key); console.log(e.keyCode); } <input type=”text” (keydown)=”kayDown($event)”> |
键盘事件 keyup | keyUp(e){console.log(e.target.value)} <input type=”text” (keyup)=”kayUp($event)”> | |
鼠标点击事件 click | //点击后获取数据 public title:any=”原始标题”; getData(){alert(this.title)} <button (click)=”getData”>点击</button> | |
//点击后设置数据 public title:any=”原始标题”; setData(){this.title=”标题被改变”} <button (click)=”setData”>点击</button> | ||
//点击后获取对象 getDom(e){var dom=e.target;dom.style.color=”red”} <button (click)=”getDom($event)” >点击</button> | ||
双向绑定 | <input [(ngModel)]=”myData”/> |
双向绑定
1.导入模块
import {FormsModule} from ‘@angular/forms’
2.模块注册
@NgModule({
imports:[FormsModule]
})
3.使用:
public keywords:any;
<input type=”text” [(ngModle)]=”keywords”>
{{keywords}}
指令和命令
包括属性指令和结构指令,组件也是指令的一种
属性指令:改变组件外观或行为,如样式
结构指令:改变模板的Dom结构
指令 | 例子 | 解释 |
ng-app |
| 初始化应用程序 |
ng-init |
| 初始化数据 |
ng-module |
| 把元素绑定到应用程序 |
ng-repeat |
| 重复HTML元素 |
ng-module | <form name=’myForm’> <input type=’email’ ng-module=’myText’ name=’myAddress’> <p>点击</p> {{myForm.myAddress.$valid}} {{ myForm.myAddress.$dirty}} </form> | 将输入域的值与变量绑定,可以为应用数据提供状态值 Invalid:输入值合法时为ture dirty:值改变时为 touched:通过触屏点击为ture error: |
*ngFor | //数据
| ngFor用作循环 |
ngSwitch | //定义数据 public score:ang=”1” //使用: <ul [ngSwitch]=”score”> <li *ngSwitchCase=”1”>已支付</li> <li *ngSwitchCase=”2”>未支付</li> <li *ngSwitchCase=”false”>支付失败</li> </ul> | |
*ngIf | //定义数据: public flag:boolean=true; //使用 <div *ngIf=”flag”><div> |
用处 | 命令 | 解释 |
查看angular版本 | ng version |
|
创建项目 | ng new demo |
|
运行项目 | ng serve –open |
|
创建有哪些参数 | ng g |
|
创建组件 | ng g component comments/header |
|
服务与依赖注入
依赖注入providers:组件引入外部构建(如服务)的一种机制
服务:实现单一目的的逻辑单元,如日志服务
服务→实例化→依赖注入→注入→组件
@component({
selector:’hello’,
template:’<p>greeting</p>’,
providers:[loggerService],
})
export class HelloCom1{
private greeting:string;
constructor(logger: loggerService){
this.greeting=’hello angular’;
logger.debug(‘构造函数执行完毕’)
}}
模块
包括文件模块和应用模块
文件模块:框架代码以模块形式组织,包括core核心模块(变换检测,依赖注入Component,Directive,ElementRef,Renderer等),comment通用模块(常用内置指令),forms表单模块(表单相关组件和指令),http网络模块(处理网络请求)及其他
应用模块:功能单元以模块形式主旨,即将组件,指令,服务进行包装
1.导入
import {Http} from ‘@angular/http’
2.模块定义
@NgModule({ //模块声明
declarations:[AppComponent,SomeDiretive], //包装指令或组件等
providers:[loggerService], //依赖注入
imports:[OtherModule], //导入其他模块
bootstrap:[ AppComponent], //设置根组件
exports:[SomeDirective], //导出组件或指令
})
export class AppModule {}
数据处理
pipe管道
类型 | 例子 |
日期转换 | 定义:public today:any=new Date() 使用:{{today | date : ‘yyyy-MM-dd HH-mm-ss‘}} |
大小写转换 | 转换成大写:{{data1 | uppercase}} 转换成小写:{{data1 | lowercase}} |
小数位数 | 格式:最少整数位数.最少小数位数-最多整数位数 {{data2 | number:1.2-4}} |
对象序列化 | {{ {name:’jennifer’}| json}} |
字符串截取 | {{ ‘jennifer’|slice:0:3}} |
管道链 | {{‘jennifer’ | slice:0:3 | uppercase}} |
表单
表单类型 | 关键词 | 例子 |
输入框 | text | <input type=’text’ /> |
单选 | radio | <input type='radio' value="男" name="sex" id="sex1" [(ngModel)]="userInfo.userSex"><label for='sex1'>男</label> <input type='radio' value="女" name="sex" id="sex1" [(ngModel)]="userInfo.userSex"><label for='sex1'>女</label> ngModle 绑定Value值,当ngModel值和value值相同,默认被选中 |
多选 | checkbox | <span *ngFor=’item of userInfo.hobby’> <input type=’checkbox’ [(ngModel)]=’item.checked’ /> </span> 双向绑定的是check的value,被选中则为true |
下拉列表 | select option | <select name=’’ [(ngModel)]=’item’> <option [value]=’item’ *ngFor=’item of userInfo.cityList’>{{item}}</option> </select> Select里双向绑定的是被选中的option的value |
P6(搜索记录和todolist)
输出 | 增 | 删 | |
搜索缓存 | <input type=”text” [(ngModel)]=”keyword”/> <button (click)=”zengjia()”></button> <ul> <li *ngFor=”let item of arr; let key=index”>{{item}} <button (click)=”delete(key)”>删除</button></li> </ul> | public arr:any[]=[]; public keyword:any; zengjia(){//检测是否存在相同值 if(this.arr.indexOf(this.keyword)==-1){ this.arr.push(this.keyword) } } | delete(key){ this.arr.splice(key,1) } |
Todolist | |||
P7数据缓存
服务Stourage.service.ts | 根模块app.module.ts | 组件 | ||||||
1.1创建服务 ng g service services/storage | 2.1引入服务import {StorageService} from './services/storage.service'; | 3.1组件中引入服务 import {StorageService} from '../../services/storage.service'; | ||||||
1.2服务类中的内容 set(key:any,value:any){ localStorage.setItem(key,JSON.stringify(value)); } //从localstorage取出 get(key:any){ return JSON.parse(localStorage.getItem(key)) } //从localstorage移除 remove(key:any){ localStorage.removeItem(key) } | 2.2注册 @NgModule({ providers: [StorageService], }) | 3.2组件中注册constructor(public storage:StorageService) { } 3.3组件中使用服务类中的方法 this.storage.set('todolist',this.todoList); ngOnInit() { var localList=this.storage.get('todolist'); this.todoList=localList; } |
Dom操作
获取Document对象:
import { DOCUMENT } from '@angular/common';
constructor(@Inject(DOCUMENT) private doc: Document) { }
P8ViewChild用于Dom操作和组件方法调用
html:<div #wySlide></div> //1.Dom
ts:
class里{
private sliderDom: HTMLDivElement; //3.类型声明
@ViewChild('wySlider', { static: true }) private wySlider: ElementRef; //2.获取ElementRef
ngOnInit(){
this.sliderDom = this.wySlider.nativeElement; //4.获取Dom
}}
P9父子组件通信
通信方式 | 父组件中内容 | 子组件中内容 |
子获取父数据@Input | public msgFromFather:any=”我是父组件传给子组件的值” <app-header [childMsg]=”msgFromFather”></app-header> | import {Import} from ‘@angular/core’; @imprrt() childMsg:any; getMsg(){ console.log(this.childMsg) } |
子执行父方法@Input | funFromFather(){alert(“父组件方法”)} <app-header [run]=”funFromFather”></app-header> | import {Import} from ‘@angular/core’; @Input run:any getRun(){ this.run() } |
子获取整个父组件 | public msg:any=”首页” <app-header [home]=”this”></app-header> | import {Input} from ‘@angular/core’ @Input home:any; getFatherMag(){ alert(this.home.msg) } |
父获取子数据/方法@ViewChild | <app-header #header></app-header> import {ViewChild} from ‘@angular/core’ @ViewChild(“header”) box2 getChildMsg(){ return this.box2.msg; } getChildFunc(){ return this.box.run() } | public msg:any=”子组件的数据” run(){alert(“子组件的方法”)} |
子触发父方法并传值(父被动获取子数据) | <app-header (outer)=”runParent($event)”></app-header> runParent(e){alert(outer)} | <button (click)="setParent('传入值')"></button> import {Output,EventEmitter} from ‘@angular/core’ @Output() private outer=new EventEmitter<string>(); //实例化 setParent(data){this.outer.emit(data)} |
P10生命周期
异步,响应式
异步编程方法 | 服务内容(RequestService) | 组件里调用 | 解释 |
回调函数 | getCallbackData(cb){ setTimeout(() => { var username = "jennifer"; cb(username); },1000); } | construct(p){public request:RequestService} ngOnInit(){ this.request.getCallbackData( (data) => {console.log(data)} ) } | cb函数作为getCallbackData的参数被传进,然后被异步函数setTimeOut调用 回调函数:将一个函数作为参数传入到另一函数 |
Promise | getPromiseData(){ return new Promise((resolve,reject) => { setTimeout(() => { var username = "jennifer"; resolve(username); },1000); }) } | construct(p){public request:RequestService} ngOnInit(){ this.request.getPromiseData().then( (data) => {console.log(data)} ) } | getPromiseData里的异步函数setTimeOut执行成功后就调用resolve函数 Promise.then()设置resolve()和reject()内容 |
Rxjs | import {Observable} from 'rxjs'; getRxjsData(){ let steam = new Obervable(observer =>{ setTimeout(() => { var username = "jennifer"; obsever.next(username); observer.error("失败") },1000); }) }
| construct(p){public request:RequestService} ngOnInit(){ var rxjs = this.request.getRxjsData(); rxjs.subscribe( (data) => {console.log(data)} ) } | subscript()设置 |
Rxjs取消订阅 | import {Observable} from 'rxjs'; getRxjsData(){ let steam = new Obervable(observer =>{ setTimeout(() => { var username = "jennifer"; obsever.next(username); observer.error("失败") },3000); }) } | construct(p){public request:RequestService} ngOnInit(){ var rxjs = this.request.getRxjsData(); var d = rxjs.subscribe( (data) => {console.log(data)} ) setTimeOut(() => {d.unsubscript()},1000) } | |
Rxjs多次执行 | import {Observable} from 'rxjs'; getRxjsData(){ let steam = new Obervable(observer =>{ setInterval(() => { var username = "jennifer"; obsever.next(username); observer.error("失败") },1000); }) } | construct(p){public request:RequestService} ngOnInit(){ var rxjs = this.request.getRxjsData(); rxjs.subscribe( (data) => {console.log(data)} ) } |
P12请求数据
方式 | 根模块中app.module.ts | 组件中 | 组件中发出请求 |
get | import {HttpClientModule} from ‘@angular/common/http’; | import {HttpClient} from ‘@angular/common/http’;(get请求) import
constructor(public http:HttpClient){} | var api=http://xxx; this.http.get(api).subscribe(response => {console.log(response); }); |
post | import {HttpClientModule} from ‘@angular/common/http’; | constructor(public http:HttpClient){} | const httpOptions = { headers:new HttpHeaders({‘Content-type’:’application/json’}) } var api=http://xxx/doLogin; this.http.post(api,{username:”张三”,age:”20”},httpOptions).subscribe( response => {console.log(response)}; ); |
jsonp | import {HttpClientModule, httpClientJsonpModule} from ‘@angular/common/http’; | import {HttpClient} from ‘@angular/common/http’; constructor(public http:HttpClient){} | var api=http://xxx/doLogin; this.http.jsonp(api,’callback’).subscribe(response =>{console.log(response)}) |
方法 | 内容 | 步骤 | ||
axios | 服务HttpService中使用axios | 1.1安装 cnpm install axios --save | 1.2新建服务 ng g service services/httpservice 服务中引入axios import axios from ‘axios’ | 1.3服务类中使用axios axiosGet(api){ return new Promise((resolve,reject) => { axios.get(api) .then(function(response){ resolve(response); }) }) } |
根模块app.moudule.ts | 2.1引入服务类 import {HttpService} from ‘./services/httpservice.service’; | 2.2注册 @NgModule({ providers:[ HttpService], }) | ||
组件中 | 3.1引入服务类 import {HttpService} from ‘../../services/httpservice.service’; | 3.2实例化 constructor(public httpService: HttpService,){} | 3.3发出请求 var api=http://xxx/doLogin; this. httpService. axiosGet(api).then((data) => { console.log(data) }) |
P13路由
配置理由
根路由模块中由引入组件 | 根路由模块中配置路由 | 使用路由 |
import {HomeComponent} from ‘./home/home.component’; import {newsComponent} from ‘./news/news.component’; import {newsContentComponent} from ‘./newsContent/newsContent.component’; | const routes:Routes = [ {path:’home’,component:HomeComponent}, { path:’news’,component: newsComponent },//静态路由 { path:’newsContent/:aid’,component: newsContentComponent },//动态路由 {path:’**’,redirectTo:’home’} //默认路由
] | <h1> <a [routerLink]=”[’/home’]”>首页</a> <a [routerLink]=”[’/news’]”>新闻</a> </h1> <router-outlet></router-outlet> |
路由传值(组件切换+传值)
app.routing.moudules.ts | 传出数据的组件 | 接受数据组件 | |
get传值 | 引入组件 import {HomeComponent} from ‘./home/home.component’; import {newsComponent} from ‘./news/news.component’; import {newsContentComponent} from ‘./newsContent/newsContent.component’; 路由配置(静态) const routes:Routes = [ {path:’home’,component:HomeComponent}, { path:’news’,component: newsComponent }, { path:’newsContent’,component: newsContentComponent }, {path:’**’,redirectTo:’home’} //默认路由 ] | 通过queryParams传值 <li *ngFor=”let item of list;let key =index”> <a [routerLink]=”[‘/newsContent’]” [queryParams]=”{aid:key}”>{{item}}</a> </li> | 引入ActivityRoute import {ActivatedRoute} from ‘@angular/router’; 声明 constructor(public route: ActivatedRoute){} 获取数据 ngOnInit(){ this.route.queryParams.subscribe((data) => { console.log(data) }) } |
动态路由传值 | 引入组件(同上) 路由配置(动态) const routes:Routes = [ {path:’home’,component:HomeComponent}, //普通路由 { path:’news’,component: newsComponent },//普通路由 { path:’newsContent/:aid’,component: newsContentComponent }, //动态路由 path:’**’,redirectTo:’home’} ] | <li *ngFor=”let item of list;let key =index”> <a [routerLink]=”[‘/newsContent/’,key]”>{{item}}</a> </li> | 引入ActivityRoute import {ActivatedRoute} from ‘@angular/router’; 声明 constructor(public route:ActivitedRoute){} 获取数据 ngOnInit(){ this.route.params.subscribe((data) => {data}) } |
路由跳转(页面跳转+传值)
方法 | 跳转前页面 | 接收数据页面 |
路由get传值js跳转 | 触发跳转 <button (click)=” goNewsContent()”></button> | 接受数据组件newsContent引入ActivityRoute并声明 import {ActivatedRoute} from ‘@angular/router’; constructor(public route: ActivatedRoute){} ngOnInit(){ this.route.queryParams.subscribe((data) => { console.log(data) }) |
引入NavigationExtras import{Router, NavigationExtras} from ‘@angular/router’ construct中初始化 constructor(public router:Router){} 执行跳转,用NavigationExtras配置传参 goNewsContent(){ //定义数据 let msg: NavigationExtras = { queryParams:{‘userId’:’123’}, fragment:’anchor’ }; this.router.navigate([‘/news’], msg) } | ||
动态路由的js跳转 | 触发跳转 <button (click)=”goNewsContent()”>js路由跳转(动态路由)<button> <button (click)=”goHome ()”>js路由跳转(普通路由)<button> | 接收数据的组件 import {ActivatedRoute} from ‘@angular/router’; constructor(public route:ActivitedRoute){} ngOnInit(){ this.route.params.subscribe((data) => {data}) } |
引入 import {Router} from ‘@angular/router’; 初始化 constructor(public router:Router){} navigate跳转 goNewsContent(){ this.router.navigate([‘/newsContent/’ ,’1234’]) } goHome(){ this.router.navigate([‘/Home’]) } |
P15嵌套路由(父子路由)
场景:页面存在父子组件,点击时加载不同子组件
根路由模块配置路由app-routing.module.ts | 父组件home | |
创建home的子组件news ng g component component components/home/news 引入组件(缩进) import {HomeComponent} from ‘./home/home.component’; import {newsComponent} from ‘./news/news.component’; 配置嵌套路由 const routes:Routes = [ {path:’home’,component:HomeComponent children:[ { path:’news’,component: newsComponent }, {path:'**',redirectTo:'news'} //默认加载 ] ] | <a [routerLink]=“['/home/welcome']">加载新闻组件</a> <a [routerLink]=”['/home/welcome']">加载通知组件</a> <div> <router-outlet></router-outlet> </div> | |
- 创建home的子组件
ng g component component components/home/welcome
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 第一个angular项目
一、安装 1、安装node.js 从官网下载需要的版本,直接安装即可,安装完成后,在命令行输入node -v查看安装的版本,有显示即安装成功 2、安装typescript 必须先安装typescript,因为angular是用typescript写的 npm ins…...
2024/4/20 20:24:02 - Angular起步——环境搭建
Angular起步——环境搭建Angular的开发环境搭建Nodejs安装安装Angular Cli开发工具Visual Studio Code的安装创建Angular项目Angular的开发环境搭建 Nodejs安装 我们使用的Angular6前端开发框架需要安装Node.js的8.x或10.x版本。可以在下面的网站下载安装包: https…...
2024/4/20 20:24:01 - 前端学习总结——Angular
前端知识点总结——Angular 一、Angular概述 基于命令行的开发方式? ①hot reload ②编译工作 ③集成了webpack打包工具 。。。。angular.cn 中文 angular.io 正式官网 angular.cn/guide/styleguide 风格指南 1、what? angular是一个Google推出的js…...
2024/4/21 2:28:41 - Angular Doc
Angular中文官网是 https://angular.cn/Angular英文官网 https://angular.io/Angular快速上手教程 https://angular.cn/start Angular创建一个HelloWorld https://angular.cn/guide/setup-local...
2024/4/21 2:28:41 - Angular入门-装饰器
查看Angular英文版官网的文档,里面的描述太少,都没声明NgModule装饰器是干嘛用的,只介绍了元数据。在Angular中文官网中,核心知识 有详细介绍,才明白Angular通过装饰器也就是带的东东,去定义组件、模块、指…...
2024/4/21 2:28:40 - Angular风格指南要点总结
单一职责:对所有的组件、服务等等应用单一职责原则 (SRP) 单一规则 (风格 01-01) 坚持每个文件只定义一样东西(例如服务或组件)考虑把每个文件大小限制在 400 行代码以内;小函数 (风格 01-02&a…...
2024/4/21 2:28:38 - angular-translate加载.json文件进行翻译
这是这个demo的目录结构,总共有两个文件:locale-chinese.json和translation11.html locale-chinese.json文件的内容是: {"beauty":"漂亮的","ugly":"丑陋的","people":"人民" }…...
2024/4/21 2:28:37 - angular字符串html,html – Angular中的字符串资源
将配置,翻译和资源与应用程序的逻辑分离是非常有用的.配置在其他上下文中也非常有用,例如,让api_url对任何休息调用都有用.您可以使用angular/cli设置此类内容.具有以下应用程序结构:|- app|- assets|- i18n- en.json- it.json|- json-config- development.json- en…...
2024/4/26 6:27:06 - Angular动态创建组件之Portals
本文主要介绍使用Angular api 和 CDK Portals两种方式实现动态创建组件,另外还会讲一些跟它相关的内容。如:Angular多级依赖注入、ViewContainerRef,Portals可以翻译为 门户 ,我觉得放到这里叫 入口 更好,可以理解为动…...
2024/5/4 3:36:58 - angular6升级到angular7
官网上有教程。https://update.angular.io/ 我相当于翻译验证一下 1.首先需要单独升级rxjs。运行 npm i -g rxjs-tslint 和 rxjs-5-to-6-migrate -p src/tsconfig.app.json 2.删除\node_modules\tslint-language-service。 3.运行 ng update angular/cli angular/core …...
2024/4/23 3:45:13 - Angular 数据绑定
Angular 数据绑定 Angular 数据绑定数据绑定事件绑定属性绑定HTML属性绑定双向绑定 响应式编程管道大小写转换管道日期管道小数管道货币管道自定义管道 数据绑定 <h1>{{productTitlt}}!</h1> 使用插值表达式将一个表达式的值显示在模版上。 <img [src] &q…...
2024/5/4 3:52:03 - 进行用户验证用Angular 4和Flask【翻译】
内容列表 Auth WorkflowProject SetupAuth ComponentBootstrap StyleAuth ServiceSanity CheckUser LoginUser Registration Server-side SetupSanity CheckAuth LoginAuth RegisterLocal StorageUser StatusRoute RestrictionWhat’s Next?在这篇文章中,我们将示…...
2024/5/4 4:33:28 - 深入理解Angular作用域
翻译自:Understanding Scopes 摘要 在AngularJS中,子作用域通常会原型继承于其父作用域。有一个例外是当指令使用scope: { ... }来定义--这创建了一个没有原型继承的“独立“作用域,这会在创建“可重复使用的组件“的…...
2024/5/4 8:12:11 - Angular2 基本的模板语法
Angular2 模板语法 ##插值表达式 {{...}} <p>My name is {{user.name}}</p><h3>{{title}}<img src"{{heroImageUrl}}" style"height:30px"> </h3><!-- "The sum of 1 1 is 2" --> <p>The sum of 1…...
2024/4/21 2:28:31 - angular 动画 query用法
query API 翻译 function query(selector: string, animation: AnimationMetadata | AnimationMetadata[], options: AnimationQueryOptions | null null): AnimationQueryMetadata; 描述 query是一个动画特效function被用于angular的动画DSL领域语言 query()被用于找到当…...
2024/4/21 2:28:29 - Angular 8.x使用ViewChild报错
错误: error TS2554: Expected 2 arguments, but got 1. 应有 2 个参数,但获得 1 个。ts(2554) core.d.ts(7888, 47): An argument for opts was not provided. 原因:ViewChild需要两个参数,并没有提供opts 官网解释ÿ…...
2024/4/20 3:09:37 - angular引入模板报错解决
用ng-include指令引入一个html文件,结果报错如下: angular.min.js:103 XMLHttpRequest cannot load file:///D:/www/angular/review/template.html. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-exten…...
2024/4/28 9:40:12 - 将选择元素绑定到Angular中的对象
本文翻译自:Binding select element to object in AngularId like to bind a select element to a list of objects -- which is easy enough: 我想将select元素绑定到对象列表-这很容易: Component({selector: myApp,template: <h1>My Applicat…...
2024/4/26 4:52:15 - 1、Angular整体概述
这系列文章都是通过大漠孤烟的视频教程整理而来,挂个翻译标签不会被说什么侵权吧! 一、集成开发环境angular/cli 开发angular项目时需要哪些node模块呢?angular/cli: - webpack - TS - Karma 单元测试 - Jasmine 单元测试 -…...
2024/4/20 20:24:08 - AngularJS - angular-translate 国际化插件
配置 1.安装依赖 npm install angular-translate -snpm install angular-translate-loader-static-files -s 2.在html中加载JS ‘node_modules/angular-translate/dist/angular-translate.min.js’,‘node_modules/angular-translate-loader-static-files/angular-translat…...
2024/4/20 20:24:08
最新文章
- 【大数据】学习笔记
文章目录 [toc]NAT配置IP配置SecureCRT配置PropertiesTerminal Java安装环境变量配置 Hadoop安装修改配置文件hadoop-env.shyarn-env.shslavescore-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml 环境变量配置 IP与主机名映射关系配置hostname配置映射关系配置 关闭防火墙…...
2024/5/4 8:58:54 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 方案分享 | 嵌入式指纹方案
随着智能设备的持续发展,指纹识别技术成为了现在智能终端市场和移动支付市场中占有率最高的生物识别技术。凭借高识别率、短耗时等优势,被广泛地运用在智能门锁、智能手机、智能家居等设备上。 我们推荐的品牌早已在2015年进入指纹识别应用领域ÿ…...
2024/5/4 2:26:06 - 腾讯云轻量服务器流量不够用了会怎么样?
腾讯云轻量应用服务器是限制月流量的,如果当月流量不够用了,流量超额了怎么办?流量超额后,需要另外支付流量费,如果你的腾讯云账号余额,就会自动扣除对应的流量费,如果余额不足,轻量…...
2024/5/1 13:01:36 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/1 17:30:59 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/2 16:16:39 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/29 2:29:43 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/3 23:10:03 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/30 9:43:09 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/2 15:04:34 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/29 20:46:55 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/30 22:21:04 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/1 4:32:01 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/4 2:59:34 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/30 9:42:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/2 9:07:46 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/30 9:42:49 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) 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 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在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