浅谈ng-zorro使用心得
前言
本周使用ng-zorro做了项目的原型,对它也有了一定的了解,总的来说不难,可以用强化版boostrap
来理解它,由于黄庭祥初始化工作做得很好,在写的过程遇到的问题不是很麻烦,感谢祥哥。
问题一、button不起作用
问题描述:button按钮按下无响应,如下图:
代码如下:
解决思路:
首先删除button中所有的样式,保留最基本的html,发现依然无响应,说明问题不在button身上
排查栅格布局,发现table标签被我放在了button同一行新建了一个row,col放置table,问题解决
总结:看来ng-zorro的栅格要比bootstrp严格,不允许随便嵌套内容
问题二、routerLink不起作用
问题描述:在button中使用routerLink无法进行页面跳转
代码如下
<button nz-button routerLink="/main/grade/add"><i nz-icon type="plus"></i>增加</button>
解决思路:
- 打开控制台,点击button,发现无报错信息
- 将跳转方式改成a标签的herf,发现可以跳转,说明url定义无误
- 询问黄庭祥,检查,发现我没有在父组件中写
<router-outlet></router-outlet>
缺少路由出口,将其添加,问题解决
搜索栏button不对齐
问题描述:在使用官方文档的一个搜索框时,样式与官方文档不一致
官方的样式:
复制过来以后的样式:
可以看到button没有附着在input上
解决思路:
- 打开检查,寻找该控件的css样式
- 发现去除该处样式,button的位置恢复正常
原因:该样式是我自己添加的,为了能让多个button间有空隙,但却覆盖了搜索框button的样式,最后去除该样式,用 来实现button间的空隙
问题四、 左侧导航栏无法向下滚动
问题描述:当左侧导航栏内容超出页面时,无法滚动下滑,如下图:
解决思路:
- 查看官方文档的示例代码,对比参考,看不出异常
- 谷歌搜索"ng-zorro submenu overflowed",结果太少
- 将我们的导航栏的代码全部注释,换成官方的示例代码,发现问题依然存在,说明我们侧导航栏的样式写得有问题
- 打开检查,排查css样式,发现是position fix惹的祸,将其去除后,导航可以滚动
总结
本周写原型的工作并不复杂,主要是在看文档理解需求上遇到一些问题,经常返工重做,另外,感觉ng-zorro的官方文档写得不是很全,在写一些功能时经常需要猜,而且一旦改动样式就会出现一些不可预料的错误。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
详解关于Angular4 ng-zorro使用过程中遇到的问题
写在前面 由于现在网络上Angular 4的相关技术文档不是很充分,我写出这个采坑的记录文档,一方面是想给自己在项目中遇到的各种问题与个人的理解记录下来,另一方面也想着某些坑大家可能也会遇到,也可以给道友做一个参考.文档中的很多地方多有不足,后期我会慢慢完善,也希望道友们能够及时指出文档中不正确的与可以优化的地方. 我计划将该帮助文档分为4个章节: 章节一: 关于angular 4 + ng-zorro在基础布局与模块拆分上的一些问题与操作步骤 章节二: angular 4 引入路由=> 组件模
-
ng-zorro-antd 入门初体验
Angular版本的 Ant Design 总算发布了,其名曰:ng-zorro-antd. 这人要是越期待,心就越着急.早在8月上旬我就开发好了 ng-zorro-vscode:一个在vscode下的snippets.因此,虽然那时未能探到源代码,但从官网的SDK中,就已经对 ng-zorro-antd 有一定全面性了解. 下面将基于我的理解,从宏观角度解析一下,或许能帮助你更好的去使用 ng-zorro-antd. 再次说一下,ng-zorro-antd 真的是非常有良心的作品. 一.安装
-
Angular中使用ng-zorro图标库部分图标不能正常显示问题
在ng-alain中,使用ng-zorro图标库,发现部分能正常显示,部分并不能显示,在控制台同时发现出错报错. ERROR Error: [@ant-design/icons-angular]: the icon redo-o does not exist or is not registered. at IconNotFoundError (ant-design-icons-angular.js:159) at MapSubscriber.project (ant-design-icons-
-
浅谈PDF.js使用心得
一次在开发微信预览保单的时候所使用到的,由于安卓手机浏览器不支持解析PDF,所以才用了PDF.js来解析PDF并展示. pdf.js 是一个技术原型主要用于在 HTML5 平台上展示 PDF 文档,无需任何本地技术支持. 在线演示地址:http://mozilla.github.com/pdf.js/web/viewer.html PDF.js可在官网下载 地址:http://mozilla.github.io/pdf.js/ 解压后的目录结构是: 其中build目录是PDF.js的核心文件.
-
浅谈jQuery绑定事件会叠加的解决方法和心得总结
关于jQuery的学习中我忽略了一个取消绑定事件.unbind()的使用,也不知道绑定事件会累加的情况,结果因为这个原因,让我在项目上栽了坑.只能说自己还太年轻,需要学习掌握的知识还有很多. 我遇到的问题 我在项目中遇到的状况,一个评价页面,简单的来说就是左右两个表格,ajax分别动态加载学生姓名学号信息和不同科目对学生评价内容两部分,两边表格我都每行写了checkbox并对table tbody tr绑定click事件执行行选功能,起初我写的是静态页面html,行选功能完全没有问题,后来换成j
-
浅谈Springboot整合RocketMQ使用心得
一.阿里云官网---帮助文档 https://help.aliyun.com/document_detail/29536.html?spm=5176.doc29535.6.555.WWTIUh 按照官网步骤,创建Topic.申请发布(生产者).申请订阅(消费者) 二.代码 1.配置: public class MqConfig { /** * 启动测试之前请替换如下 XXX 为您的配置 */ public static final String PUBLIC_TOPIC = "test"
-
浅谈Angular中ngModel的$render
在我开始着手ngModel的领域时候,有一个问题很令我纠结,那就是$render()到底是做什么的呢?查了很多资料都只是简单的描述一下,这就令我很纠结了,终于在一个阳光明媚的晚上,我终于解决了这个大问题 那么这个$render方法到底是干什么的呢?他的用处就是在$viewValue改变的时候可以重新绑定model数据,但是我们要注意一点($viewValue和DOM节点的value是不同的),我觉得他们的区别有点类似setTimeout和$timeout的区别,但是又不太一样.ps:其实mode
-
浅谈django model的get和filter方法的区别(必看篇)
django的get和filter方法是django model常用到的,搞清楚两者的区别非常重要. 为了说明它们两者的区别定义2个models class Student(models.Model): name = models.CharField('姓名', max_length=20, default='') age = models.CharField('年龄', max_length=20, default='') class Book(models.Model): student =
-
浅谈java面向对象的数组化信息处理
虽然非常简单的东西,但对于一些自学的新手和前期理解的不够深的萌新来说,应该会有很大的帮助,有助于理解. 初学面向对象的时候,我想许多同学对此很纳闷.简单的问题复杂化,多此一举诸之云云. 那么往下看: package cn.bdqn.test3; import java.util.Scanner; public class Test1 { public static void main(String[] args) { //创建两个管理员对象 Admin a1 = new Admin(); a1.
-
浅谈防不胜防的unsigned int的运算
我很早之前就知道,unsigned int与int运算的时候,int会被转化为unsigned int来进行运算.一直觉得定这条规则的人是极度反人类的,虽说unsigned int可以表示更大的正值,但毕竟我们不太会把unsinged想像成一个负数,而一个负的int数可能在无意间就变成了最大的正数. 所以,我对这个问题很慎重.小心翼翼地,一直没怎么出过错.直到有一天. 第一回合 那是一个阳光明媚的午后,我正惬意地刷leetcode.要遍历vector中除最后一个元素的所有元素.我这样写道: fo
-
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
vue-cli中已经内置配置好了sass 以及lass的配置.如果需要的话直接下载两个模块就可以了,webpack它会根据 lang 属性自动用适当的加载器去处理. 如果需要使用sass,则安装: npm install node-sass --save-dev npm install sass-loader --save-dev 如果需要使用less,则安装: npm install less --save-dev npm install less-loader --save-dev sass
-
[Asp.Net Core] 浅谈Blazor Server Side
在2016年, 本人就开始了一个内部项目, 其特点就是用C#构建DOM树, 然后把DOM同步到浏览器中显示. 并且在一些小工程中使用. 3年下来, 效果很不错, 但因为是使用C#来构建控件树, 在没有特定语法的情况下, 代码风格不是那么好. 典型的风格大概是这样的: 这个模式挺好的, 有点嫌弃C#代码占比太高, HTML代码靠字符串来完成, 在界面的设计上, 比较吃力. 在2019年秋, Asp.Net 3.0出来了, Blazor Server Side 也正式公布, 可以在VS2019中使用
-
浅谈软件工程师的自我修养
概述 "对于知识,要求知若渴:对于自己,要虚怀若谷."优秀的软件工程师一定是在软件开发的道路上前行者.自学是其成长的一个重要手段,在自学的过程中,我们是可以通过考试的方式来收敛思绪,督促自己学习,从而提高自己的基本素质.诚然,原则和模式是软件工程质量的基石.但技术是工具, 是为人服务的,而不是相反的.我们不能为了迎合某种技术而束手束脚,让自己特别难受.与此同时,要让自己的能力发挥到极致,良好的心境是必须要有的,因为软件工程中的一个核心因素是人的因素. 诚然,在软件开发过程中,我们不仅要
随机推荐
- Linux下用netstat查看网络状态、端口状态
- 两种不同的方法实现js对checkbox进行全选和反选
- JavaScript中使用stopPropagation函数停止事件传播例子
- asp.net快速连接access
- jsp 常用标签的使用
- 使用VC6.0对C语言程序进行调试的基本手段分享
- JS AJAX前台如何给后台类的函数传递参数
- 解决fatal:remote error:You can't push to git://github.com/username/*.git问题的办法
- 我需要目标-有眼光的人和没眼光的人
- MYSQL 导入数据的几种不同
- Centos7.2安装Nginx实现负载平衡的方法
- Java数组的基本操作方法整理
- Android 判断SIM卡属于哪个移动运营商的实现代码
- Linux中利用grep命令如何检索文件内容详解
- 解决vue项目报错webpackJsonp is not defined问题
- struts2 validation.xml 验证规则代码解析
- Java替换中使用正则表达式实现中间模糊匹配的方法
- Java 添加Word目录的2种方法示例代码详解
- 详解从vue-loader源码分析CSS Scoped的实现
- 易语言设置文件覆盖是否出现提示的方法