浅谈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 24 Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
Dec 19 Javascript
解决Jquery鼠标经过不停滑动的问题
Mar 03 Javascript
jQuery的基本概念与高级编程
May 14 Javascript
jquery解析json格式数据的方法(对象、字符串)
Nov 24 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
Apr 04 jQuery
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
Apr 24 Javascript
Bootstrap treeview实现动态加载数据并添加快捷搜索功能
Jan 07 Javascript
JsChart组件使用详解
Mar 04 Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
Mar 04 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
Feb 26 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
Apr 08 Javascript
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
终于听上了直流胆调频
2021/03/02 无线电
PHP学习笔记 用户注册模块用户类以及验证码类
2011/09/20 PHP
php封装的pdo数据库操作工具类与用法示例
2019/05/08 PHP
jQuery 性能优化指南 (1)
2009/05/21 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
2013/04/02 Javascript
jQuery模拟新浪微博首页滚动效果的方法
2015/03/11 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
每天一篇javascript学习小结(面向对象编程)
2015/11/20 Javascript
node.js 动态执行脚本
2016/06/02 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
JS实现左边列表移到到右边列表功能
2018/03/28 Javascript
详解Puppeteer 入门教程
2018/05/09 Javascript
微信小程序云开发使用方法新手初体验
2019/05/16 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
JS数组进阶示例【数组的几种函数用法】
2020/01/16 Javascript
JS面向对象之单选框实现
2020/01/17 Javascript
基于JavaScript实现表格隔行换色
2020/05/08 Javascript
vue 单页应用和多页应用的优劣
2020/10/22 Javascript
python搭建虚拟环境的步骤详解
2016/09/27 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
更改Python的pip install 默认安装依赖路径方法详解
2018/10/27 Python
Python获取数据库数据并保存在excel表格中的方法
2019/06/12 Python
基于Django静态资源部署404的解决方法
2019/07/28 Python
django中使用事务及接入支付宝支付功能
2019/09/15 Python
python爬虫beautifulsoup解析html方法
2020/12/07 Python
EM Cosmetics官网:由彩妆大神Michelle Phan创办的独立品牌
2020/04/27 全球购物
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
文明礼仪事迹材料
2014/01/09 职场文书
银行领导证婚词
2014/01/11 职场文书
《少年王冕》教学反思
2014/04/11 职场文书
《记金华的双龙洞》教学反思
2014/04/19 职场文书
离婚协议书怎么写(范本参考)
2014/09/30 职场文书
2016大学迎新欢迎词
2015/09/29 职场文书
纪检部部长竞选稿
2015/11/21 职场文书