浅谈Angular7 项目开发总结


Posted in Javascript onDecember 19, 2018

由于公司需要,开始学习angular,这个传闻中学习曲线及其陡峭的前端框架,并开始写第一个用angular的项目,截止今天初步完成现有需求,顾在此做一次遇到问题的总结,以便知识的掌握。

一、在angular项目中,如何使用锚点

在常规项目中,使用锚点用来做"智能"定位效果时,只需这么写:

<a href="#test" rel="external nofollow" >走你</a>
<div id="test">被定位区域</div>

但是在ng中,a标签中的href属性会自动的使用路由机制,最后的结果会被当成跳转的路由地址,具体的原因有待进一步考证,反正最后的结果就是上面的写法不生效,生效写法:

<a router="./" [fragment]="test">来吧</a>
<div id="test">被定位区域</div>

二、组件中修改第三方UI库样式

之前中vue写项目的时候,会遇到组件风格与第三方UI库冲突的现象,用过vue的同学都了解,在vue中有个scoped这个作用域的概念,如果要自定义与UI库冲突的地方有以下几种方式:

  • 在App.vue文件中声名样式;
  • 在子组件中添加多个style标签;
  • 使用深度作用选择器—— '>>>';
    • scss:.a /deep/ .b {...}
    • stylus: .a <<< .b{...}

那么在ng中个什么情况呢?首先需要了解ng渲染组件的机制,在ng中有一个东东叫showDOM;

解决方法:

在组件的.ts文件中

import { ViewEncapsulation } from '@angular/core';

@Commpoent({
  ...
  encapsulation: ViewEncapsulation.None
})

如果这样还是覆盖不了,那就查查类名拼写啊、层级嵌套啊、和类名的位置,我曾经就是因为把类名加的位置不对导致样式不生效的,大家不要学我哟!

三、元素上添加自定义属性

vue写法

<li v-for="(item,index) in list" :index="index">{{item.title}}</li>

ng写法

<li *ngFor="let item of list; index as i" [attr.index]="i"></li>

四、不使用npm引入第三方插件的用法之一

很多时候,我们需要用的某个插件可能在npm上没有,或者由于各种版本问题,导致使用的时候会有乱七八糟的bug,找原因,去解决,费时费力;

用了ng才能明白,以前用vue的时候是多么的幸福,使用vue常规业务在国内基本都是即搜即用,ng就。。。嗯,学英语ing~。
解决方案:

  • 将如要用到的插件放入assets文件夹中;
  • 在根目录下的index.html中script引入;
  • 在应用的组件中使用(window as any).**;

ps: angular.json等其他方式也是可以的的,看各自实际情况而定;

五、监听滚动事件

使用Hostlistener`

@HostListener('window:scroll', ['$event'])
 public onScroll = () => {
  do something
 }

使用fromEvent

import { fromEvent } from 'rxjs'
 import { debounceTime } from 'rxjs/operators'
 export class Test{
  subscribeSoll;
  this.subscribeScoll = fromEvent(window,'scroll')
    .pipe(debounceTime(1000))
    .subscribe( (event) => {
      console.log(event);
    })
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
解析瀑布流布局:JS+绝对定位的实现
May 08 Javascript
url参数中有+、空格、=、%、&amp;、#等特殊符号的问题解决
May 15 Javascript
多个jQuery版本共存的处理方案
Mar 17 Javascript
AngularJs自定义服务之实现签名和加密
Aug 02 Javascript
JS实现类似百叶窗下拉菜单效果
Dec 30 Javascript
JS正则表达式验证密码格式的集中情况总结
Feb 23 Javascript
JavaScript严格模式下关于this的几种指向详解
Jul 12 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
Nov 08 jQuery
vue双向绑定数据限制长度的方法
Nov 04 Javascript
浅谈vue的第一个commit分析
Jun 08 Javascript
JavaScript中的全局属性与方法深入解析
Jun 14 Javascript
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
Apr 06 Vue.js
mockjs+vue页面直接展示数据的方法
Dec 19 #Javascript
vue项目搭建以及全家桶的使用详细教程(小结)
Dec 19 #Javascript
vue使用Google地图的实现示例代码
Dec 19 #Javascript
JS实现获取自定义属性data值的方法示例
Dec 19 #Javascript
vue动态绑定class选中当前列表变色的方法示例
Dec 19 #Javascript
js指定日期增加指定月份的实现方法
Dec 19 #Javascript
动态内存分配导致影响Javascript性能的问题
Dec 18 #Javascript
You might like
php中cookie的作用域
2008/03/27 PHP
使用PHP进行微信公众平台开发的示例
2015/08/21 PHP
PHP和C#可共用的可逆加密算法详解
2015/10/26 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
JS 无法通过W3C验证的处理方法
2010/03/09 Javascript
用jQuery模拟select下拉框的简单示例代码
2014/01/26 Javascript
JavaScript实现强制重定向至HTTPS页面
2015/06/10 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
用自定义图片代替原生checkbox实现全选,删除以及提交的方法
2016/10/18 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
angular.JS实现网页禁用调试、复制和剪切
2017/03/31 Javascript
基于jquery实现五星好评
2017/11/18 jQuery
swiper插件自定义切换箭头按钮
2017/12/28 Javascript
小程序兼容安卓和IOS数据处理问题及坑
2018/09/18 Javascript
JS操作字符串转数字的常见方法示例
2019/10/29 Javascript
微信小程序使用前置摄像头拍照
2020/10/22 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
Python2.x中str与unicode相关问题的解决方法
2015/03/30 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
2017/11/08 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
OpenCV图片漫画效果的实现示例
2020/08/18 Python
Python hashlib和hmac模块使用方法解析
2020/12/08 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
前端实现打印图像功能
2019/08/27 HTML / CSS
英国高端食品和葡萄酒超市:Waitrose
2016/08/23 全球购物
高三历史教学反思
2014/01/09 职场文书
2014年公务员工作总结
2014/11/18 职场文书
《观潮》教学反思
2016/02/17 职场文书
动漫APP软件排行榜前十名,半次元上榜,第一款由腾讯公司推出
2022/03/18 杂记
SQL Server的存储过程与触发器以及系统函数和自定义函数
2022/04/10 SQL Server