记录使用angular中遇到的问题(一)

记录一些学习angular2中遇到的问题 之前跟着angular2中文官网的教程做完了angular-tour-of-heroes这个demo,感觉没学到的东西不多,或者说忘掉很多了.所以想着到angular2英文官网继续学习.问题一我跟着CLI QUICKSTART快速建一个angular2的程序, 在全局安装完Angular-CLI后,我测试创建一个新的项目,执行下面的命令:ng new my-app 报了一大堆错误,第一个错误信息我没 阅读详情

一、ngSwitchCase

当我们用到switch...case时,我们会需要在满足两个或多个不同条件时做同样的操作,在js或其他一些语言中,可以像下面代码这样去实现

switch(type){
    case condition1:
    case condition2:
        //do anything
        break;
    case condition3:
        //do something
        break;
    default:
        //do something
}

现在我需要用ngSwitchCase做类似的事,但是我发现我不能在同一个标签上去写两个ngSwitchCase,也不能在ngSwitchCase上绑定多值,一种比较糟糕的做法就是我不得不像下面这样去实现

<div [ngSwitch]="type">
    <div *ngSwitchCase="condition1">From1</div>
    <div *ngSwitchCase="condition2">From1</div>
    <div *ngSwitchCase="condition3">From2</div>
    <div *ngSwitchDefault>From3</div>
</div>

条件1和条件2要渲染的内容相同,但我不得不用两个容器分别包裹。

尝试多次,终于在two-switch-case-values找到一种比较优雅的做法

<div [ngSwitch]="type">
    <div *ngSwitchCase="type === condition1 || type === condition2 ? type : false">From1</div>
    <div *ngSwitchCase="condition3">From2</div>
    <div *ngSwitchDefault>From3</div>
</div>

在two-switch-case-values可参与更多讨论,若有更多建议欢迎在下方评论。

二、ngClass

我尝试使用多个类名,并且其中一个类名是变化的

<div [ngClass]="'pre' + variable {'otherclass': condition}"></div>

像上面这样仅仅使用ngClass总是报错。

正确的写法是

<div [class]="'pre'+ variable" [ngClass]="{otherClass: condition}"></div>

在ngclass-mix-expressions可参与更多讨论。

三、ExpressionChangedAfterItHasBeenCheckedError

我试图在ngAfterViewInit()中改变变量时会抛出错误,这时需要把代码写到setTimeout()内延迟执行才不会报错。

具体原因查看Angular Debugging "Expression has changed after it was checked": Simple Explanation (and Fix)。

 

关于Angular 4 + ng-zorro 使用过程中遇到的问题 写在前面由于现在网络上Angular 4的相关技术文档不是很充分,我写出这个采坑的记录文档,一方面是想给自己在项目中遇到的各种问题与个人的理解记录下来,另一方面也想着某些坑大家可能也会遇到,也可以给道友做一个参考。文档中的很多地方多有不足,后期我会慢慢完善,也希望道友们能够及时指出文档中不正确的与可以优化的地方。我计划将该帮助文档分为4个章节:章节一:关于angular 4 + ng-zorro在 阅读详情

相关推荐

深入解析BLheli电调固件与Dshot通讯协议:从原理到实践

本文深入解析了无人机动力系统的核心——BLheli电调固件与Dshot通讯协议。详细阐述了BLheli固件从经典版到BLheli_32的演进及其功能特性,并重点剖析了Dshot数字协议如何通过数据包和校验码实现更快、更准、更可靠的电机控制。文章还涵盖了双向Dshot遥测、实战配置与调参指南,帮助玩家充分释放无人机性能。

weixin_28273593的博客 434

ng命令——ngSwitch,ngSwitchCase,ngSwitchDefault简单理解

因为项目的问题,所以我要用到angular的ng命令,但是发现自己不是很懂,就查了查,发现,emmmm,还不是很懂,后来看着代码,又结合官方的话,别人的回答,大概理解了一点,下面把我的理解整理整理,否则就更不容易懂了 下面是angular官方回答,但是我还是不懂: angular-ngSwitch理解 ngSwitch:根据内嵌的 match(匹配)表达式(match_express_*)与...

虑而后能得 1万+

手把手教你用IN-Sight智能相机实现双向TCP/IP通讯(附网络调试助手推荐)

本文详细解析了IN-Sight智能相机实现双向TCP/IP通讯的完整流程。通过将相机同时配置为TCP服务器和客户端,构建了与上位机(如PLC、MES)稳定可靠的数据交换通道。文章深入剖析了发送(TCPDevice)与接收(ReadDevice)通道的独立配置、关键参数设置(如结束符CR+LF)、高效调试工具选择以及实战避坑指南,帮助工程师快速掌握这一构建柔性产线数据节点的核心技术。

qsc9012345的博客 670

angular学习

1.安装 安装Angular脚手架 cnpm install -g @angular/cli 创建一个angular项目 ng new 项目名 [ --skip-install ] 如果不跳过安装,ng会自动进行依赖下载,可能会比较慢。最好是我们自己通过cnpm进行下载 如果上面跳过安装可以进行这一步 cnpm install 运行项目 ng serve --open 2.Angular目录结构 node_modules:存放项目所需的各种依赖 package.json:项目的配置文件 tscon

XHY的博客 3045

基于STM32的HC-SR04超声波模块测距(新手级)

本人是嵌入式新手,学习了STM32的部分内容,最近想找些项目做,然后顺便学习了一下HC-SR04超声波模块,学习过程中也参考了一些大佬的文章。本文记录了自己的学习方法和学习过程,同时也希望能和各位大佬交流讨论。

weixin_63758495的博客 2203

ZYNQ BRAM实现PS与PL数据交互

有时CPU需要与PL进行小批量的数据交换,可以通过BRAM模块,也就是Block RAM实现此要求。本章通过Zynq的GP Master接口读写PL端的BRAM,实现与PL的交互。在本实验中加入了自定义的FPGA程序,并利用AXI4总线进行配置,通知其何时读写BRAM。以下为本实验原理图,CPU通过AXI BRAM Controller读取BRAM数据,CPU仅配置自定义的PL BRAM Controller 的寄存器,不通过它读写数据。

baidu_34971492的博客 2273

switch case 多个条件_Golang语言基础教程:switch分支语句

一、程序的流程结构程序的流程控制结构一共有三种:顺序结构,选择结构,循环结构。二、条件语句switch语句:“开关”switch是一个条件语句,它计算表达式并将其与可能匹配的列表进行比较,并根据匹配执行代码块。它可以被认为是一种惯用的方式来写多个if else子句。switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。switch 语句执...

weixin_35435986的博客 3424

【Unity实战100例】Unity循环UI界面切换卡片功能

功能包括:可以设置半径,高度,速度,元素数量用户可以根据自己的实际需求接入 制作思路:创建每个元素对应的虚拟点,通过旋转管理这些虚拟点,然后把旋转信息和位置信息同步给实际的元素

纯技术流日常开发商业开发记录总结等 7717

Angular中的内置指令

Angular提供了若干内置指令。因为内置指令是已经导入过的,故可以直接在组件中直接使用它们。 ngIf 如果你希望根据一个条件来决定显示或隐藏一个元素,可以使用ngIf指令。这个条件是由你传给指令的表达式的结果决定的。 如果表达式的结果返回的是一个假值,那么元素会从DOM上被移除。 下面是一些例子: div *ngIf="false"> b">

默默前行,勿喜、勿悲、一切随缘! 2451

GEE 案例:利用多源遥感数据计算RUSLE(Revised Universal Soil Loss Equation)土壤侵蚀

该数据集提供了全球范围内以250至500米的空间分辨率获取的多光谱图像数据,用于监测地表覆盖和变化。RUSLE模型的基本原理是通过考虑土壤侵蚀的主要驱动因素,来估计土壤侵蚀的速率。该数据集提供了全球范围内以10至60米的空间分辨率获取的多光谱图像数据,用于监测地表覆盖和变化。它对农业和土地资源管理者提供了一种评估和预测土壤侵蚀风险的工具,以制定适当的土壤保护措施和决策。2. soil(土壤)是来自OpenLandMap的土壤纹理分类数据,使用了USDA(美国农业部)土壤纹理分类系统。

此星光明博客 801

激光雷达与相机时间戳同步:原理、触发方案与工程实现

目录一、引言:时间不同步,多传感器融合必出问题二、核心原理:相机成像机制与触发模式(同步的基础)2.1 相机成像的两个核心阶段:曝光与读出(1)非交叠曝光(2)交叠曝光2.2 相机触发模式:内触发 vs 外触发(1)内触发(2)外触发2.3 关键信号:Strobe信号与预输出(同步的核心技巧)三、三种主流时间戳同步方案(工程落地首选)3.1 方案一:统一硬触发(精度最高,高端场景首选)核心原理核心配置要点优缺点适用场景3.2 方案二:软触发+硬触发(Strobe预输出,车载量产首选)核心原理核心配置要点优缺

getusushu的博客 200

前端框架Angular学习笔记

Angular框架的环境搭建、基本操作、组件介绍、事件绑定等,根据大地老师视频做的笔记

Dijkstra's Monk-ey的博客 1744

家里摄像头录像存 NAS,空间爆满了怎么办?一招实现设定容量自动清理实现循环存储!

📷 家用摄像头录像久了会撑爆 NAS 吗?别担心,这篇文章教如何实现自动清理录像,释放 NAS 空间,避免爆盘🧹

XiaoqiangClub的博客 1879

Angular2项目日常开发中所遇问题及解决方案记录(一)

Angular2项目日常开发中所遇问题及解决方案记录(一)   易sense 关注 2016.09.27 11:30* 字数 382 阅读 11443评论 8喜欢 15赞赏 4 最近在把一个angularjs1.4版本的项目使用angular2框架进行升级,因此也把个人每天开发中遇到的问题及解放方案记录下来,不定时更新~ 1、Webstorm can't find '

weixin_40969472的博客 1605

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Angular2项目开发中所遇问题及解决方案记录(一)

Angular2项目开发中所遇问题及解决方案记录 最近在把一个angularjs1.4版本的项目使用angular2框架进行升级,也把每天开发中遇到的问题及解放方案记录下来。 1、Webstorm can't find '@angular/core'; 解决方案: In webstorm : File->settings->...

weixin_33958585的博客 357

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ng:由于该系统的脚本执行无效,文件D:\angular\npmConfig\npmng.ps1 无法装入

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

别再捏我脸了的博客 282

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

angular在ie8下的一个bug

  昨天拿项目在ie8下测试,发现不少bug,其中有一个bug让我很不解,报了一个thead开头的bug,因为已经切回到linux下了,我就不报具体是什么bug了,鼓捣了半天,发现引用angular的应用中,table元素在ie8或者7下不能缺少thead,即便是空,也得加上空的thead。 转载于:https://www.cnblogs.com/xuchaosheng/p/3867864.htm...

weixin_34200628的博客 126

angular4 Http升级到HttpClientModule 遇到的bug

在我的login组件当中,把httpClient导入到constructor就会导致上面的这个错误提示; construstor(private http: HttpClient) {} 然而在我的app.module.ts里面我已经把HttpClientModule模块引入却还是没有用; import { HttpClientModule } from '@angular/common/htt...

weixin_33840661的博客 622

使用ngfor出现的奇怪现象(未解决)

使用ngfor出现的奇怪现象 原文:https://blog.youkuaiyun.com/zh15732621679/article/details/76407724 我的用法跟文中的正确用法应该一样 <div *ngIf="steps === '4.6'"> <table> <tr> <td colspan=...

fangqingxiang 319

Angular4 后台管理系统搭建(2) - flexgrid 单元格模板 wjFlexGridCellTemplate 的坑

这几天中了很多坑,尤其是两个大坑。先是运行环境的坑,在是flexgrid单元格内部模板的坑。这里记录下。 一开始我遇见一些很奇怪的问题,按网上的说法,别人这么写代码都正常,就在我机器上不正常。按以前的经验,我觉得是不是版本的问题。于是就把 angular 升级到 4.2.4。 typescript升级到2.4.1。结果这两个最新的库合在一起,zone.js就出问题了。是一个很奇怪的类型转...

weixin_30748995的博客 717

解决npm install卡住不动的小尴尬

npm install卡顿问题记录 遇到的问题 npm install -g @angular/cli 安装angular cli工具时,发现进度条一直卡住不动,相信很多朋友也遇到过。原因应该是国内的网络连接npm速度较慢,甚至很多东西都无法下载安装。那么如何解决这个问题呢? 方案一:安装cnpm镜像 这个是比较常用的方法,我首先也是使用了这个方法。cnpm的安装方法,参考http://npm.t...

weixin_30843605的博客 1613

angular-datepicker使用问题记录

angular-datepicker使用问题记录使用方法基本使用和常见问题 angular-datepicker的github地址:https://github.com/g00fy-/angular-datepicker 这款插件在angular1.x上可以正常使用。 使用方法 安装方法可参照github,或者按顺序单独引入以下文件: 引入moment.js、moment-timezone.js...

csxjax的博客 3191

Angular2-Logger 项目常见问题解决方案

Angular2-Logger 项目常见问题解决方案 1. 项目基础介绍和主要编程语言 Angular2-Logger 是一个基于 Angular 2 的日志记录模块,灵感来源于 Log4j,旨在为 Angular 2 提供一个简单易用的日志记录功能。这个项目的主要编程语言是 TypeScript。 2. 新手使用该项目的注意事项与解决步骤 问题一:如何安装 Angular2-Logger? 解决...

gitblog_01127的博客 1084

记录下angular使用signalr

公司开发需要使用signalr来实现消息广播,查阅很多资料,和后端配合,基本实现效果 npm install --save @aspnet/signalr npm install --save @types/signalr proxy.json 这里错了容易出一堆错误 { "/hubs": { "target": "http://xxxx.xxxx.com", "change...

qq_36487294的博客 2081

angular使用问题记录(更新中)

form表单的formcontrol项指定默认值 解决方案:同时使用formControlName属性和ngModel属性。 ViewChild获取html节点内容,明明存在却是undefined 可能原因:在程序初始化完成后,就会尝试获取ViewChild所标明的节点,但该节点不一定存在(如使用ngIf控制),此时需要把变量对象的static属性设置为false,才能动态的获取内容,否则只能得到undefined。 ...

qq_38872934的博客 533
上一篇: Aurelia (一)——使用aurelia-cli创建新项目
下一篇: Angular:ERROR in Can't bind to 'ngForOf' since it isn't a known property of 'div'
Sopha_Yang
博客等级 码龄10年 1粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值