1. 说说你对组件的理解, 你如何看待组件化?
组件:组件是元素的集合体可以扩展HTML元素,封装可重用的代码。
组件化 (把复杂的DOM结构封装到组件内部,只给外部提供组件的名字,使用者可以很方便的使用组件名展示复杂的DOM结构)
2. 什么是SPA, 如何实现SPA?
SPA: Single Page Application的简写
单页面应用,整个程序中只有一个页面,页面里的内容根据路径的不同随之切换,页面不发生跳转
3. 尽可能多的说出angularJS里的常用指令(ng开头)?
ngModel--实现数据双向绑定
*ngFor--动态创建DOM结构
ngSwitch--通过匹配case来控制元素的显隐
*ngIf--控制元素的显隐性(真正意义上的从DOM结构中移除)
ng-show--本质上设置元素的display值为none,只是设置样式,DOM结构还在
ng class--指定 HTML 元素使用的 CSS 类
4. angularJS如何进行组件间通信, 详细分别说明?
1.父向子 -- @Input装饰器声明输入属性,要声明在子组件里 2.子向父 -- @Output装饰器声明事件,要声明在子组件里 3.兄弟之间 -- 中间人模式
5. angularJS里路由知识点里, Router-outlet, routes, router, routerLink, ActivateRoute的作用分别是什么?分条说明
1.routes: 数组,所有的陆游信息都需要在该数据中进行配置
2.router-outlet: 插座标识,用来切换不同的组件
3.router: 路由对象,可以调用该对象的方法实现路由的切换
4.routerLink: 结合a标签使用,也可以实现路由的切换
5.ActivateRoute: 对象,存储路由传值的数据
6.angularJS路由里如何传值?分条说明.
1.查询参数传值 利用queryParams属性传值
2.路径参数传值,直接把要传递的参数写到routerLink的对应的值数组里,需要对路由配置做设置
7. React里JSX语法的注意点有哪些?
1.xml标签写到小括号里面,小括号也可以不加
2.xml标签的内容里可以用大括号包裹表达式进行数据的灵活展示
3.JSX语法里的xml标签有且只允许有一个根标签
4.如果xml标签是单标签,最后必须加 /
代码语言:javascript复制8. React里state和props的区别是什么?
代码语言:javascript复制 react里的每个组件都有一个props和 state属性.
代码语言:javascript复制 这两个都是对象,区别:
代码语言:javascript复制 props是只读的, state是读写的
代码语言:javascript复制 state可以记录组建的状态,而且还可以自改状态值.
如果存储在state里的值发生变化,对应绑定了该值的试图会自动更新
9. React如何进行组件间通信, 详细分别说明?
1. 父向子--props对象
2. 子向父--回调函数
3. 兄弟之间--中间人模式
10. React里路由传值的方式有几种?分别说明?
* 路由传值:
* 1.params--直接将想要传递的参数以 / 的形式连续拼接在路径的后面
特点:
1.需要对路由进行配置
2.刷新网页,值依然存在
3.如果传递的参数过多,url网址的内容过长
* 2.query, 如果进入query方式传值,Link的to属性值就不是字符串,而是一个对象,通过该对象的query属性进行传值
特点:
1.不需要配置路由
2.刷新网页,值被销毁
3.可以传对象
* 3.state, 如果进入state方式传值,Link的to属性值就不是字符串,而是一个对象,通过该对象的state属性进行传值
特点:
1.不需要配置路由
2.刷新网页,值被销毁
3.可以传对象
React里路由有关的知识点:
React里的路由是通过引入react-router-dom模块实现的
1.BrowserRouter 组件,这是React里Router的接口实现,所有的路由模块,跳转模块都要写到BrowserRouter组件里
2.Route 组件, 路由的展示组件,该组件负责展示路由模块
path属性, 字符串,用来匹配Link里的to值
component属性 组件,当匹配上path时,会显示对应的component
exact属性, 知名该路由是否排他
3.Link组件 路由的切换组件,该组件负责跳转
to属性, 表示需要跳转的路由