这是我参与「掘金日新计划 · 4 月更文挑战」的第18天。 在 Angular 自定义指令 Tooltip 文章中,我们说会出一篇关于 sass 样式的文章,现在它来了。....scss 为后缀,语法用 {} 修饰 .sass 为后缀,语法是缩紧方式 推荐使用 .scss 项目集成 angular 项目使用脚手架生成,在添加样式这一个步骤,会询问你编写样式的方式,让你选择...在 angular 中编写样式,可以分为组件样式和全局样式。...组件样式 组件样式就是组件单独拥有,其他组件不会生效,比如,你通过 ng g compoent demo 生成组件: - demo.component.ts - demo.component.html...全局样式 angular 脚手架生成的项目,默认在 src/style.scss 文件存放全局的样式。在这个文件修改的样式,将对整个应用的样式产生影响。
AngularJs是不直接操作DOM的,但是在平时的开发当中,我们有的时候还是需要操作一些DOM的,如果使用原生的JS的话操作过于麻烦,所以大家一般都是使用jQuery,jQuery虽然好用,但是AngularJs...是不建议和JQuery同时使用的,所以AngularJs给我们也提供了一些操作DOM的方法———Jqlite 查阅官方提供的api,可以看到使用方法是angular.element(ele)...使用ng-app(如ng-app="myApp")时,js就必须申明var myApp = angular.module('myApp', []);,否则会报错误。...三.angular.element方法汇总 addClass()-为每个匹配的元素添加指定的样式类名 after()-在匹配元素集合中的每个元素后面插入参数所指定的内容,作为其兄弟节点 append()...find() - 通过一个选择器,jQuery对象,或元素过滤,得到当前匹配的元素集合中每个元素的后代 hasClass()-确定任何一个匹配元素是否有被分配给定的(样式)类 html()-获取集合中第一个匹配元素的
前端使用的就是Angular JS,同时前端脚本中我也使用了JQuery。...于是开始Google资料,终于找到了问题所在的原因,原因是Angular JS框架使用了"轻量级的JQuery" - JqLite来处理页面,Jqlite是不会去执行样式页面(template)中的script...脚本,也就是说,如果你只使用了Angular JS脚本,而没有用JQuery,在template html中写的是不会被调用的(当然这里的是指放在ng-view...但是呢,如果你也使用了JQuery,而且关键的是,在Script调用顺序中,如果你把JQuery放在了Angular JS前面调用(例如本文开头时我的做法),Angular JS会检查是否有JQuery...存在,如果JQuery存在,则不使用内部的JqLite,因此每次处理ng-view时,都会被调用,由此就会抛出警告,每次Angular JS的脚本都会被重复加载,这是十分不可取的
但是对已经生成的components/directives就不起作用了. 那么如何保证生成的项目的components/directives前缀是您想要的呢?...下面我来生成一个使用scss样式的项目: 可以看到生成的是styles.scss, app.component.scss文件, angular cli不仅会生成scss文件, 而且也会编译它们....查看angular-cli.json, 可以在文件的下方看到采用的是scss样式文件: 这样, 以后生成的component的默认样式文件就是scss了....先使用--aot: ng build --aot 使用aot之后可以看到 vendor.bundle的大小降了很多, 只有1.5m左右了....如果需要Serve 其他js/css/assets文件: 放在.angular-cli.json就行, 例如jquery就应该放在scripts里面.
但是对已经生成的components/directives就不起作用了. 那么如何保证生成的项目的components/directives前缀是您想要的呢?...--directory: 可以设定生成的目录, 默认是使用的项目名称. --style: 可以设定样式的类型, 默认是css, 例如可以改成scss....也可以通过--inline-style把样式的写法设为行内样式, 这个默认是false的. 下面我来生成一个使用scss样式的项目: ?...查看angular-cli.json, 可以在文件的下方看到采用的是scss样式文件: ? 这样, 以后生成的component的默认样式文件就是scss了....前面我介绍了使用ng new参数和修改angular-cli.json文件的方式来配置cli, 下面我介绍下通过ng set 来配置cli.
是angular和第三方库 可以使用source-map-explorer来分析依赖, 并且查看哪些模块和类在bundle里面....先使用--aot: ng build --aot ? 使用aot之后可以看到 vendor.bundle的大小降了很多, 只有1.5m左右了....执行aot会去掉一些程序执行不需要的代码, 例如angular的compiler这时就不在build输出的文件里了(可以使用source-map-explorer查看)....通过文件大小可以看出确实是prod build的. ng eject. 为项目生成webpack配置和脚本. 执行该命令试试: ? 看看有哪些变化: .angular-cli.json: ?...放在.angular-cli.json就行, 例如jquery就应该放在scripts里面.
+双端UI框架 metro: Jquery双端UI框架 mint: Vue移动端UI框架 mui: 无依赖移动端UI框架 muse: Vue移动端UI框架 ng-bootstrap: Angular双端...移动端应用框架 ng-cordova: Angular移动端应用框架 quasar: Vue移动端应用框架 react-native: React移动端应用框架 stencil: Ionic原生 weex...prop-types: React组件参数验证 react-amap: React地图组件 react-beautiful-dnd: React拖拽组件 react-css-modules: React样式模块组件...会继续在这篇文章上补全,同时也希望各位倔友对文章里的要点进行补充或者提出自己的见解。...欢迎在下方进行评论或补充喔,喜欢的点个赞或收个藏,保证你在开发时用得上。
2:移动端适配,移动端的高速发展,各种屏幕大小的适配,以及不同系统的兼容问题,以及市面上各种眼花缭乱的适配方案,让我们头晕目眩,在加上less,sass,scss的出现,多了些许逻辑在里面,让我们写css...不过这也是个缺点,因为用的人多了样式都长一个样... 当然,模块化的框架你要修改起来也是很方便的,基本上修改变量就可以了。...UI库(UI组件库) bootstrap - Twitter推出的一个用于前端开发的开源工具包,jQuery 生态。据说马上的 v5 版本会脱离 jQuery 生产。...ant-design-pro-vue vue-antd-admin vue-alain ant-design-vue-pro NG-ZORRO - Ant Design of Angular NG-ZORRO-MOBILE...(CSS框架) Bootstrap是在jquery时代的UI组件库,而且Bootstrap大部分组件是依赖css的,依赖jQuery的组件主要是有交互的弹窗组件、下拉菜单等。
使用它们,您可以轻松地组织数据,使数据仅在满足特定条件时才显示。通过使用竖线字符|,将过滤器添加到表达式中,然后是过滤器。 14. Angular和jQuery有什么区别?...AOT编译器可以丢弃未使用的指令,这些指令会使用摇树工具进一步丢弃。 23.解释jQLite。 jQlite也称为 jQuery lite是jQuery的子集,包含其所有功能。...属性 -当遇到匹配的属性时,指令将激活。 CSS- 指令会在遇到匹配的CSS样式时激活。 注释 -遇到匹配的注释时,指令将激活 27. Angular中有哪些不同类型的过滤器?...40.您对Angular中的REST了解那些? REST表示RE表象小号大老牛逼转让(BOT)。REST是适用于HTTP请求的API(应用程序编程接口)样式。...48.在Angular中解释ng-app指令。 ng-app指令用于定义Angular应用程序,使我们可以在Angular应用程序中使用自动引导。
---- 今天在使用Swiper的时候遇到这个问题: 使用angularjs动态循环生成swiper-slide类,在swiper-wrapper里生成6个以上的滑动页,可是就是划不到第二页,尝试将longSwipesRatio...的值修改到最小,仍然不起作用。...-- ============== --> 在测试时发现,手动复制n个循环部分,则可以滑动n个块;手动调节窗口大小,使页面文档发生改变(动态响应)后,可以正常滑动。...而在angular始终在swiper初始化之后定义,swiper则无法正确scan有多少个slide(实际上找到一个待循环模板),所以划不动。 找到原因后,只须对症下药。...在查阅Swiper的API时发现,有这样两个参数:observer和observeParents,前者启动动态检查器,当改变swiper的样式(例如隐藏/显示)或者修改swiper的子元素时,自动初始化
二、Angular Elements 使用实战 前不久看到项目angular-elements-dashboard :支持动态加载模块和动态加载外部的模块。...三、Angular Elements应用页面的分析 代码逻辑估计小学生也看的懂了,分别用原生JS 和 jquery 两种技术,生成元素,...Dom ,它只是一种模拟手段,它通过引入_ng_content-c0的属性空间隔离css 样式。...,造成组件的样式全无。... Angular Elements需要脱离ng环境,没有Module 没有Route等支持,它就阉割功能,添加限制。
组里产品UI架构如下: 其中前端,主要使用Angular JS框架,另外配合Bootstrap提供的很多控件以及JQuery,后台主要是Express JS搭建的Web Server,Express...doctype html> 2 ng-app="myApp"> 3 4 angular-1.3.15/angular.js...建议使用另外一种方式,就是用Angular JS的另一个Module ng-route,做路由控制,针对不同的路径,在同一个文件中定义好各自的控制器。...,一定要在myApp的moudle中引用ng-route,同时要在文件中引用angular-route.js文件,否则不起作用。 ...Express JS 在示例的前端中,我们使用Angular JS框架开发了Html页面以及对应的JS文件。但网站的后台就要用其他技术了。
Angular4.0来了,更小,更快,改动少 接下来为Angular4.0准备环境和学会使用Angular cli项目 1.环境准备: 1)在开始工作之前我们必须设置好开发环境 如果你的机器上还没有安装.../cli 2.创建新的项目 打开终端窗口(这里我使用的是webstorm的Terminal,也可以使用计算机自带的powershell) ng new my-app 项目会很快创建完成,接下来你会看到...jquery --save 我们在项目中就添加了bootstrap和jQuery,我们可以在node_modules文件夹中找到他们(这个文件夹放的是第三方库); 然后我们需要操作.angular-cli.json...这样我们就在项目中正常使用bootstrap和jQuery了 4)项目的启动 启动项目我们可以直接通过: ng serve 或者是 npm start 这两个的默认端口都是4200: http://...localhost:4200 这里你也可以修改默认的端口: ng serve -p 3000 5)最后项目的打包 用angular cli创建的项目会有很多文件,我们就需要打包后再发行: ng
最近使用到了ngOption实现下拉选择列表,由于需要实现分组等功能,百度了下没有太好的文章,就百度到一篇英文的帖子,按照其中的代码很顺利的搞定了。...本篇根据文中代码,详细讲述下如何实现下拉列表 更多内容参考:AngularJS知识总结 下拉列表的简单使用 ng-option指令使用很简单,只需要绑定两个属性: 一个是ng-model用于获取选定的值...; 另一个是ng-options用于确定下拉列表的元素数组。...其实分组与前面的例子很像,只要把空间中的ng-options的值换成下面: ng-model = "engineer.currentActivity" class="form-control...当你选择一个下拉列表选项的时候,就会覆盖掉这个初始值。 所以更多的时候会使用一个id进行标识,这样在初始化赋值的时候,只需要设定一个id就可以了。
避免生成css ng g c xxx --style=none 数据结构渲染Form表单 import {Validators} from "@angular/forms"; const dateForm...maxLength as number) } obj[item] = keyArr } return obj } this.fb.group(hasArr(dataForm)) 行内样式...,使被调用scrollIntoView()的元素对用户可见 scrollIntoView({ behavior: 'smooth', block: 'center' }); jq使用 npm install...jquery -S npm install @types/jquery -D angular.json "scripts": [ + "node_modules/jquery.../dist/jquery.min.js" ] 使用 import * as $ from 'jquery'; 或者 declare var $:any; $('p')
一、前端MVC概要 1.1、库与框架的区别 框架是一个软件的半成品,在全局范围内给了大的约束。库是工具,在单点上给我们提供功能。框架是依赖库的。AngularJS是框架而jQuery则是库。...性能 17kb min+gzip 运行大小 超快虚拟 DOM 最省心的优化 1.5、AngularJS简介 AngularJS是一个前端MVVM框架。...: 方法二与方法一的区别: 使用模块标签{{ }}加载慢或渲染慢时用户将看到标签,而ng-bind不会,但是使用模块要方便。...与ng-style 指定类样式与行内样式。...由于浏览器会优先使用并行的方式来加载图片和其它内容,所以angular没有机会拦截到数据绑定请求。
主要是因为前段时间写过一些关于Angualr的相关实战文章,有些爱学习的小伙伴对这方面比较感兴趣,但是又不知道该怎么入手(因为认识我的大多数小伙伴都是后端的同学),所以今天准备出一篇Angular学习资料汇总和日常开发中使用比较频繁的语法总结...ng-if判断使用: //在angular中没有else只能都通过ng-if来判断 ng-if="OwnStatus==0">准备中 ng-if="OwnStatus==1">进行中...规定要使用模板替换的文本内容 ng-blur 规定 blur 事件的行为 ng-change 规定在内容改变时要执行的表达式 ng-checked 规定元素是否被选中 ng-class 指定 HTML...元素使用的 CSS 类 ng-class-even 类似 ng-class,但只在偶数行起作用 ng-class-odd 类似 ng-class,但只在奇数行起作用 ng-click 定义元素被点击时的行为...ng-jq 定义应用必须使用到的库,如:jQuery ng-keydown 规定按下按键事件的行为 ng-keypress 规定按下按键事件的行为 ng-keyup 规定松开按键事件的行为 ng-list
一、前端MVC概要 1.1、库与框架的区别 ? 框架是一个软件的半成品,在全局范围内给了大的约束。库是工具,在单点上给我们提供功能。框架是依赖库的。AngularJS是框架而jQuery则是库。...性能 17kb min+gzip 运行大小 超快虚拟 DOM 最省心的优化 1.5、AngularJS简介 AngularJS是一个前端MVVM框架。...当加载慢时的效果: ? 方法二与方法一的区别: 使用模块标签{{ }}加载慢或渲染慢时用户将看到标签,而ng-bind不会,但是使用模块要方便。...2.9、ng-class与ng-style 指定类样式与行内样式。 ngClass指令允许你动态设置HTML元素的CSS类,通过绑定到一个包含要添加的所有类的表达式。 ...由于浏览器会优先使用并行的方式来加载图片和其它内容,所以angular没有机会拦截到数据绑定请求。
和jQuery 的不同 jQuery是库,面向DOM,Angular 面向模型,思路要转变。...一般而言,使用jQuery的弊病在于, 用作中大型应用jQuery相对简陋,容易执着于DOM操作这种原子类问题。 代码不好模块化,变量,方法处在全局作用域下面容易相互污染。...还有相对反直觉的一点是, 如果页面交互复杂,而开发人员对DOM操作不精通,jQuery遍地$()的使用方式很容易造成性能问题 。 遍地所谓的jQuery插件严重使得代码膨胀,性能低下!!!...需要注意的是controller中只操作数据即可,不要试图操作DOM,这点jQuery的同学一定要忍住,如果需要操作DOM,请使用指令,后续会讲到。...如果一般使用并不需要了解,使用内置的指令已经可以完成绝大多数功能。 AngularJs中本身以及内置了大量的指令,例如, ng-if , ng-repeat , 甚至ng-controller。
,它们都可以只使用Bootstrap无需使用jQuery就可以在Angular中使用。...如果你的项目是一个使用Angular 5+和Bootstrap 4+的新项目,建议使用NG Bootstrap,否则就使用NGX Bootstrap。 3....NG Zorro [NG Zorro.png] 第三个要重点推荐的Angular组件库是基于Ant Design设计体系的NG Zorro组件库。...作为Ant Design的Angular实现,NG Zorro不仅继承了Ant Design的独到思想和极致体验,同时也结合了Angular框架的优点和特性。...DevUI 是从华为云 DevCloud 研发工具体系孵化出来的,最适合做 ToB 的工具类产品,因为这类产品不追求酷炫的样式,而更在意工具是否稳定、使用起来是否高效,是否能真正让用户忘记工具,在使用工具的过程中达到心流状态