angularjs

如何在AngularJS中使用$ scope。$ watch和$ scope。$ apply?

断了今生、忘了曾经 提交于 2020-08-10 12:14:01
问题: I don't understand how to use $scope.$watch and $scope.$apply . 我不明白如何使用 $scope.$watch 和 $scope.$apply 。 The official documentation isn't helpful. 官方文档没有帮助。 What I don't understand specifically: 我不明白的是: Are they connected to the DOM? 他们连接到DOM吗? How can I update DOM changes to the model? 如何更新对模型的DOM更改? What is the connection point between them? 它们之间的连接点是什么? I tried this tutorial , but it takes the understanding of $watch and $apply for granted. 我尝试了 本教程 ,但需要理解 $watch 和 $apply 是理所当然的。 What do $apply and $watch do, and how do I use them appropriately? $apply 和 $watch 什么作用,如何正确使用它们? 解决方案: 参考一:

别乱提交代码了,看下大厂 Git 提交规范是怎么做的!

一曲冷凌霜 提交于 2020-08-10 06:46:48
来源:人人贷大前端技术中心 juejin.im/post/5d0b3f8c6fb9a07ec07fc5d0 Git是现在市面上最流行的版本控制工具,书写良好的commit message能大大提高代码维护的效率。 但是在日常开发中由于缺少对commit message的约束,导致填写内容随意、质量参差不齐,可读性低亦难以维护。 在项目中引入commit message规范已是迫在眉睫。 用什么规范? Quick Start 1. 全局安装commitizen & cz-conventional-changelog 2. 项目内安装commitlint & husky 3. 添加相应配置 4. 使用 Commit message规范在rrd-fe落地使用情况 1. type 2. scope 3. body 4. break changes 5. affect issues 示例 扩展阅读 用什么规范? 现在市面上比较流行的方案是 约定式提交规范 ( Conventional Commits ),它受到了 Angular提交准则 的启发,并在很大程度上以其为依据。 约定式提交规范 是一种基于提交消息的轻量级约定。 它提供了一组用于创建清晰的提交历史的简单规则;这使得编写基于规范的自动化工具变得更容易。这个约定与 SemVer 相吻合,在提交信息中描述新特性、bug 修复和破坏性变更。

Web前端有哪些优势 为什么那么多人想学前端

心已入冬 提交于 2020-08-10 02:42:35
  Web前端有哪些优势?为什么那么多人想学前端?随着移动互联网的发展满足了人们的大部分需求,Web前端开发人才也成为各大企业和公司竞相争抢的对象,越来越多的小伙伴通过专业学习进入Web前端开发行业。下面千锋小编给大家介绍一下。   一、薪资待遇   随着市场需求的提升,拥有企业所需技术的Web前端开发人员薪资在不断增加,不仅仅是一线城市的前端开发人员,一些二三线城市的前端人员薪资水平也在稳步增加,成为城市中名副其实的高收入人群。   二、应用领域   网页已经不再仅仅是一个网页了。今天的公司在做网站时,他们会同时考虑移动设备上的技术和社交媒体交互。开发团队在设计和构建网站时,需要考虑智能手机、平板电脑,互联网电视甚至可穿戴设备的使用情况——这些都扩大了前端开发人员的业务范围和受众的覆盖面。   三、功能优势   Web 开发涉及很多方面 —— 比如前端、后端、移动端、内容管理系统和电商。这给开发者提供了一系列路径,以便他们在规划职业生涯时选择。比如,PHP 开发人员可能会选择专注于WordPress,而一名资深前端工程师精通于Angular。与此同时,新工具的出现使得前端开发者更轻松地应用自己的技术。   四、就业前景   基于市场的压力,很多企业需要提供具有电商、通信、发布等功能的综合性网站,因此越来越多的企业需要Web开发人员。根据有关部门的数据显示:在2012年至2022

前端三大主流框架 React、Vue、Angular的对比

那年仲夏 提交于 2020-08-10 02:11:42
一、Angular,它两个版本都是强主张的,如果你用它,必须接受以下东西: 必须使用它的模块机制 必须使用它的依赖注入 必须使用它的特殊形式定义组件(这一点每个视图框架都有,难以避免) 所以Angular是带有比较强的排它性的,如果你的应用不是从头开始,而是要不断考虑是否跟其他东西集成,这些主张会带来一些困扰。 二、React 它也有一定程度的主张,它的主张主要是函数式编程的理念,比如说,你需要知道什么是副作用,什么是纯函数,如何隔离副作用。它的侵入性看似没有Angular那么强,主要因为它是软性侵入。你当然可以只用React的视图层,但几乎没有人这么用,为什么呢,因为你用了它,就会觉得其他东西都很别扭,于是你要引入Flux,Redux,Mobx之中的一个,于是你除了Redux,还要看saga,于是你要纠结业务开发过程中每个东西有没有副作用,纯不纯,甚至你连这个都可能不能忍: const getData = () => { // 如果不存在,就在缓存中创建一个并返回 // 如果存在,就从缓存中拿 } 因为你要纠结它有外部依赖,同样是不加参数调用,连续两次的结果是不一样的,于是不纯。为什么我一直不认同在中后台项目中使用React,原因就在这里,我反对的是整个业务应用的函数式倾向,很多人都是看到有很多好用的React组件,就会倾向于把它引入,然后

React、Vue、Angular对比 ---- 介绍及优缺点

冷暖自知 提交于 2020-08-09 22:45:13
React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站, 并于 2013年 5 月开源。React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。它有以下的特性: 1.声明式设计:React采用声明范式,可以轻松描述应用。 2.高效:React通过对DOM的模拟,最大限度地减少与DOM的交互。 3.灵活:React可以与已知的库或框架很好地配合。 优点: 1. 速度快:在UI渲染过程中,React通过在虚拟DOM中的微操作来实现对实际DOM的局部更新。 2. 跨浏览器兼容:虚拟DOM帮助我们解决了跨浏览器问题,它为我们提供了标准化的API,甚至在IE8中都是没问题的。 3. 模块化:为你程序编写独立的模块化UI组件,这样当某个或某些组件出现问题是,可以方便地进行隔离。 4. 单向数据流:Flux是一个用于在JavaScript应用中创建单向数据层的架构,它随着React视图库的开发而被Facebook概念化。 5. 同构、纯粹的javascript:因为搜索引擎的爬虫程序依赖的是服务端响应而不是JavaScript的执行,预渲染你的应用有助于搜索引擎优化。 6.兼容性好:比如使用RequireJS来加载和打包,而Browserify和Webpack适用于构建大型应用。它们使得那些艰难的任务不再让人望而生畏。 缺点:

Vs Code推荐安装插件

微笑、不失礼 提交于 2020-08-09 20:43:08
前言:   Visual Studio Code是一个轻量级但功能强大的源代码编辑器,轻量级指的是下载下来的Vs Code其实就是一个简单的编辑器,强大指的是支持多种语言的环境插件拓展,也正是因为这种支持插件式安装环境开发让Vs Code成为了开发语言中的霸主,让同时支持开发多种语言成为了可能。俗话说的好工欲善其事必先利其器,作为一个Vs Code老用户而已我我觉得安装一些有用的插件多自己日常的开发效率能够大大的提升,下面我推荐的是我日常开发中使用的比较多和感觉起来还不错的一些插件,同时会持续更新,假如大家觉得有好的插件而我这里没有提到的可以在下面留言我会补上。 Vs Code拓展插件安装: 快捷键:Ctrl+Shift+X进入拓展面板,到应用商店文本框中搜索拓展。 适用于 VS Code 的中文(简体)语言包: 拓展名称:Chinese (Simplified) Language Pack for Visual Studio Code 拓展描述:此中文(简体)语言包为 VS Code 提供本地化界面。 美化VS Code的代码: 拓展名称:Beautify 拓展描述: 美化 javascript , JSON , CSS , Sass ,和 HTML 在Visual Studio代码。 Visual Studio代码的图标: 拓展名称:vscode-icons 拓展描述

npm install failed with Error: EPERM: operation not permitted, unlink '\node_modules'

拥有回忆 提交于 2020-08-09 09:31:12
问题 I try to run "npm install" command in CMD ["node_modules" is inside C drive] but installation failing with below error. OS :Windows 10. Node JS version: 6.9.0. Error: EPERM: operation not permitted, unlink. Goal: To run AngularJs project. CMD command npm install -- no optional; PS C:\Users\arunk\Work\Workspaces\workspace-2\brainbox-frontend-angular> npm install --no-optional npm ERR! path C:\Users\arunk\Work\Workspaces\workspace-2\brainbox-frontend-angular\node_modules\.staging\typescript

Promises和Observables有什么区别?

試著忘記壹切 提交于 2020-08-09 08:57:26
问题: Can someone please explain the difference between Promise and Observable in Angular? 有人可以解释Angular中 Promise 和 Observable 之间的区别吗? An example on each would be helpful in understanding both the cases. 每个示例都将有助于理解这两种情况。 In what scenario can we use each case? 在什么情况下我们可以使用每种情况? 解决方案: 参考一: https://stackoom.com/question/2WmKr/Promises和Observables有什么区别 参考二: https://oldbug.net/q/2WmKr/What-is-the-difference-between-Promises-and-Observables 来源: oschina 链接: https://my.oschina.net/stackoom/blog/4307386

angular浏览器兼容性问题解决方案

荒凉一梦 提交于 2020-08-08 23:58:44
问题 :edge浏览器下,固定列的边框消失 原因 :ng-zorro-antd表格组件使用nzLeft和nzRight指令固定的表格列,这两个指令的实现css3中的标签: position: -webkit-sticky !important; position: sticky !important; 谷歌、火狐及-webkit-内核的浏览器均支持该属性(css3),IE不支持该属性,所以在IE中,会自动降级,表格无固定列,可滑动的形式。 Edge浏览器在1703之后的版本使用了chromium内核,对css3的属性支持较好,也支持sticky属性,可以使用,可以固定表格列,但边框会消失。 解决方案 : 目前可行的解决方案有如下几种: 不使用固定列,若产品没有明确要求使用固定列,可以放弃使用nzLeft及nzRight来固定表格。从而使各个浏览器下的展示效果一致。 针对Edge浏览器降级处理,与IE浏览器效果一致,无固定列,整体可横向滚动。 自定义实现固定列,不使用组件的固定列实现,通过使用 position: absolute; 这种方式来实现表格的固定列。 第二个方案的详细过程如下: 使用div包裹表格,当表格宽度超过div宽度时,开启滚动: .scroll-table { width: 100%; overflow-x: scroll; } 针对表格,我们可以指定宽度

Ionic 中出现 NullInjectorError: No provider for HttpClient 的解决办法

做~自己de王妃 提交于 2020-08-08 19:17:07
1. 在 app.module.ts 中引入模块 import { HttpClientModule } from '@angular/common/http'; 2. 在 @NgModule.imports 中引入它 @NgModule({ ...... imports: [ ...... HttpClientModule, ...... ], ...... }) 来源: oschina 链接: https://my.oschina.net/soho00147/blog/4299052