今天一位客户说网站错误页面返回的状态码是302而不是404,问ytkah要如何处理。这个应该是设置没有正确的原因。我们一步步来排查一下。...2、进入详细的错误页配置,选中404状态代码,右侧点编辑 ? ...4、再点击右侧的 编辑功能设置,选自定义错误页,确定 ? ...5、重启iis 6、用第三方工具检测错误页的http状态码,如果显示的404状态码那就是正确的,如果显示其他那就要按上面的步骤重新配置一下 ?
SiteContextState 包含了三个子 State: export interface SiteContextState { languages: LanguagesState; currencies...CurrenciesState; baseSite: BaseSiteState; } 以 CurrenciesState 为例,不仅包含了 Entities 列表,还包含了当前 Active 状态的.../store 会跟踪调用选择器函数的最新参数。...因为选择器是纯函数,所以当参数匹配时可以返回最后一个结果,而无需重新调用选择器函数。 这可以提供性能优势,特别是对于执行昂贵计算的选择器。...它为状态的特征切片(Feature Slice)返回一个类型化(typed)的选择器函数。 注意 createFeatureSelector 的调用有两种写法。
本次演示的示例为通过ngrx的状态管理来控制HTTP请求服务的全局loading动画显示。..., ngrx/store-devtools 本次实例用的是ngrx 4.x版本,因为没有跟路由关联,也没有复杂的行为,只用到了ngrx/store。...同react-redux 相似,ngrx的核心也是通过reducer来获取储存在store中的值(状态),通过action来改变store的中值(状态)。...ChangeDetectionStrategy设置OnPush时,组件就不会一直进行脏检查了,而是当输入属性变化时,才会启动检查策略,这里值的注意的是,这个输入的对象需要变化成一个新对象时,组件才会进行检查,而不是仅仅是改变属性的值...如Object.assign({}, {name:j_bleach}, {name:bleach}); 或者[…[1,2,3],4]这样返回一个新的对象。
在 Angular 应用中,使用 @ngrx/effects 的目的是处理带有副作用的逻辑,比如与服务端的交互、日志记录或导航操作。...而 ofType 是 @ngrx/effects 提供的一个操作符,专门用于筛选特定类型的 Action,帮助开发者更高效地构建可维护的状态管理代码。...灵活性:这种模式常用于根据状态或条件动态触发不同逻辑。3. 组合多个 Action 类型在复杂的场景中,我们可能需要同时监听多个 Action 类型。...和 actionTwo mergeMap((action) => { console.log(`Processing action:`, action); // 返回处理结果的...掌握它的使用技巧,可以显著提升 Angular 应用状态管理的开发效率。
我们如何显示它而不是我们目前的标记?...两者都是不可变的,但第二个是基于第一个的,所以State我们创建一个新的State对象,而不是在我们的变异值上。...现在它由于高度可维护的Ngrx商店而丢失了。也就是说,它存储在任何地方。...这就是我们如何告诉我们的组件,我们正在扩展我们的配置,而不是从头开始创建它。...什么是NgRX? NgRX是一种管理应用程序状态的模式。这是一个支持Angular应用程序的RxJS驱动的状态管理库。
选取页面中元素可以使用jQuery给我们提供的$()方法,该方法需要提供选择器作为参数,方法执行完成后会返回给我们一个jQuery对象,被选取的元素就包含在该对象中。...$('div:parent') 选择匹配元素集合中包含子元素的所有div元素(包括文本节点) 2.7 选取表单元素 jQuery提供了一些专门为表单设计的选择器,用于快速访问表单元素。...$(':selected') 选择处于被选中状态的option元素 :focus $(':focus ') 选择处于焦点状态的元素 :checked $(':checked ') 选择处于选中状态的checkbox...这不是我们想要的,能不能在我们指定的的范围中检索我们想要获取的元素。...下面的选择器会在id属性值为box的元素中查找p元素,而不是在整个文档中查找: $('p', '#box') 后代选择器也可以像上面那样写: $('#box p') //
这不是一个高效的方法,尤其当随着开发过程它变得越来越高,扩展得很大的时候。我想说很有必要在你实现的行为树中保存正在处理的节点,这样下次就能直接刷新而不是每一帧都遍历整棵树。...最常用的合成节点是Sequence节点,它按照顺序运行每一个子节点,如果任何一个子节点返回了failure,它返回failure;如果所有子节点返回成功状态,它才返回成功。 ...Selector(选择器) 选择器与序列节点正好相反。序列节点的作用是“与”,需要所有子节点都成功才返回成功,而选择器只要有一个子节点返回了成功,它就返回成功,而且不再处理后续的节点。...如果顺利开门了,那选择器成功,知道了这个动作已经成功完成。那么就没有必要处理后面的子节点了。 但是,如果因为有人锁上了,开不了门,那“开门”节点会失败,将失败状态返回给选择器。...这种情况下,我们在IsNull节点的节点返回失败,因为usedDoor不是空。它被反相为成功,导致整个行为成功。更高一层的父节点知道NPC成功找到一个门,进入了建筑。
:$(“p”) 选取所有的元素 4、* 描述:匹配所有元素,返回元素集合 示例:$(“*”) 选取所有的元素 5、selector1,selector2,…,selectorN 描述:将每个选择器匹配到的元素合并后一起返回...、 :not(selector) 描述:去除所有与给定选择器匹配的元素,返回元素集合 示例:$(“input:not(.myClass)”) 选取class不是myClass的元素...>) 4、:parent 描述:选取含有子元素或者文本的元素,返回元素集合 示例:$(“p:parent”) 选取含有子元素或者文本元素的元素(或者文本) 3>可见性过滤选择器 1、:hidden 描述:选取所有不可见的元素,返回元素集合 2、:visible 描述:选取所有可见的元素,返回元素集合 4>属性过滤选择器(返回元素集合)...React在调用setstate后,react会将传入的参数对象和组件当前的状态合并,触发调和过程, 在调和过程中,react会根据新的状态构建react元素树重新渲染整个UI界面,在得到元素树之后,react
2.伪类和伪元素的概念 2.1 伪类: 伪类用于当已有元素处于某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。...当元素处于某状态时会呈现该样式,而进入另一状态后,该样式就会失去。状态伪类的顺序很重要,顺序错误可能会导致没有效果。...当 style 没有设置 scope 属性时,style 内的样式会对整个 html 起作用。...4 伪元素列举 伪类和伪元素-2.png 4.1 单双冒号 选择器 示例 示例说明 ::before/:before 在被选元素前插入内容 需要使用 content 属性来指定要插入的内容。...,而不是第一个; span:first-child: 匹配不到任何元素,因为在这里两个span元素都不是div的第一个子元素; :first-child: 匹配到的是p元素,因为在这里div的第一个子元素就是
,选择器可以指定对谁生效,可以指定不同状态时生效不同的样式,而声明就是样式,这些知识点,下面都将一一说明。...三.选择器 qt的官方文档介绍了最有的选择器,而不是最全的,Qt样式表支持CSS2中定义的所有选择器。下面截取了qt支持的选择器,点击浏览CSS2文档。 ?...要解决此冲突,我们必须考虑选择器的特殊性。在上面的示例中,QPushButton#okButton被认为比更为具体QPushButton,因为它(通常)引用单个对象,而不是类的所有实例。...同样,具有伪状态的选择器比未指定伪状态的选择器更具体。...因此,它具有系统颜色,而不是继承其父QGroupBox的颜色。
使用名词而不是动词 为了易于理解,为资源使用下面的API结构: Resource Getread Postcreate Putupdate Delete /cars 返回一个car的列表 创建一个新的car...Get方法和查询参数不应该改变资源状态 使用Put,Post和Delete方法替代Get方法来改变资源状态。不要使用Get来使状态改变: GET /users/711?...为关系使用子资源 假如资源连接到其它资源,则使用子资源形式: GET /cars/711/drivers/ Returns a list of drivers for car 711 GET /cars.../711/drivers/4 Returns driver #4 for car 711 5....使用HTTP状态码处理错误 忽略错误处理的API是很难使用的,简单的返回500和调用堆栈是非常不友好也非常无用的: 使用HTTP状态码 HTTP标准提供了70多个状态码来描述返回值,我们不需要完全用到他们
BT与分层状态机(hierarchical state machine)有一些相似之处,主要区别在于,行为的主要构建块是任务而不是状态。BT易于人类理解,所以不易出错,在游戏开发者社区非常受欢迎。...执行:这个选择器的主要目标是选择左子节点(检测我们是否有一辆车在面前非常接近,并相应地调整速度)或右子节点(正常驾驶) 当且仅当所有子节点根据有序的执行步骤返回true时,此选择器将返回true: 1....成功执行切换任务(SwitchLane任务成功执行,返回true) 4....实现目标(goal) 选择器(Selector) 如果一个序列是一个AND,要求所有子节点返回成功,则选择器将在其任何子节点成功时返回成功,不再处理任何其他子节点。...执行:这个选择器的主要目标是选择左子节点(检测在面前是否有一辆车,并相应地调整速度)或右子节点(正常驾驶) 仅当其中一个子节点返回true时,此选择器才会返回true,执行以下步骤: 左子节点(序列):
,而CSS3在CSS2的基础上对属性选择器进行了扩展,新增了3个属性选择器,使得属性选择器有了通配符的概念,这三个属性选择器与CSS2的属性选择器共同构成了CSS功能强大的属性选择器。...简单点理解就是选择元素中的第一个子元素,记住是子元素,而不是后代元素。...其中“n”是其参数,而且可以是整数值(1,2,3,4),也可以是表达式(2n+1、-n+5)和关键词(odd、even),但参数n的起始值始终是1,而不是0。...如下表所示: 9.CSS3 only-child选择器 :only-child选择器选择的是父元素中只有一个子元素,而且只有唯一的一个子元素。...在CSS3中,我们可以通过状态选择器:checked配合其他标签实现自定义样式。而:checked表示的是选中状态。
但有一点请注意,学有余力不是因为当前方向浅尝辄止而学有余力,是在当前方向足够深入同时还学有余力~对于不知道学啥的同学,就有了这篇文章,我会在接下来罗列我深入/尝试/了解过的,认为值得学习的各个方向框架与工具类库...整体的感受非常舒服: 模块划分,我本人非常喜欢模块化的思想(个人认为React的是组件化而不是模块化),各个模块完全自己干自己的,不管是多级路由还是复杂数据流都显得结构清晰。...PNPM[80],实际上是包管理工具,但内置了Monorepo支持,我也在用这个(强烈安利),想要了解可以看看三元的这篇文章:为什么现在我更推荐pnpm而不是 npm/yarn ?...NgRx[93],很好用的Angular的状态管理方案,写法和Redux非常像,也是action >>> reducer >>> state,所以几乎可以没有什么成本的上手。...秉承了Angular的思想,提供了一整套的集成:和Angular Router的集成:@ngrx/router-store;对于集合类型的适配:@ngrx/entity;副作用管理:@ngrx/effects
jQuery 是稳定的 - 它是稳定的,因为有一个专门团队,他们自愿将该工具保持在最佳状态生态系统。...它使网站变得更慢,因为它不断地直接操作 DOM ,并在处理我们的代码之前加载整个库,这通常会导致延迟。...它将数据作为“Promise”返回。...promise 不会拒绝 HTTP 状态错误。...@keyframes 是一个用于动画内容的重要工具,用来定义要在舞台上应用的样式以及 animation 属性或其子属性,它被绑定到选择器,指定如何用关键帧样式及其应用的时机。
(3) currentSrc,读取播放中的媒体数据的URL地址,为只读 buffered,返回一个对象,该对象实现TimeRanges接口,以确认浏览器是否已缓存媒体数据 readyState,返回媒体当前播放位置的就绪状态...、*通配符 4.伪元素选择器,并不是针对真正的元素使用的选择器,而是针对CSS中已经定义好的伪元素使用的选择器,格式:选择器 类名:伪元素 {属性:值} 5.伪元素选择器: :first-line:用于为某个元素中的第一行文字使用样式...(4n+1) :nth-of-type(n),nth-last-of-type(n),在计算子元素时只针对同类型的子元素计算 :only-child,:only-of-type,让样式只对唯一子元素起作用的实现方法...时,如果一组单选框中任何一个单选框都没有被设定为选取状态时整组单选框的样式 E:selection,指定当元素处于选中状态时的样式 7.通用兄弟元素选择器:子元素> ~ 子元素之后的同级兄弟元素>...,在元素样式中counter-increment属性设定计数器名counter-increment:before选择器或after选择器中指定的计数器名 4.content:'第'counter(计数器名
n:所有行 2:倒数第2行 -n+3:最后3行 :only-child:只有一个元素时使用 4.目标伪类选择器 :target: 使用该选择器来对页面中的某个target元素(锚记链接)指定样式...5.UI 元素状态伪类选择器 选择器 含义 E:enabled 匹配所有用户界面(form表单)中处于可用状态的E元素 E:disabled 匹配所有用户界面(form表单)中处于不可用状态的E元素...E:checked 匹配所有用户界面(form表单)中处于选中状态的元素E E:selection 匹配E元素中被用户选中或处于高亮状态的部分 6.动态伪类选择器 选择器 含义 E:link 选择匹配的...css伪元素: 对元素中的特定内容进行操作,而不是描述状态 css3为了区分两者伪类使用单冒号,伪元素使用双冒号,但因为兼容问题现在大部分还是用单冒号 8.层级选择器 相邻兄弟选择器: li + li:...后边相邻的选择器会被选中,第一个li不会被选中 通用兄弟选择器: li ~ li:li后面的所有li元素被选中 子选择器: ul> li:ul后面直接的li元素被选中 9.渐进增强、优雅降级 渐进增强(
它使用**虚拟 DOM **而不是真正的 DOM。 它可以用服务器端渲染。 它遵循单向数据流或数据绑定 3、列出 React 的一些主要优点?...这些组件将整个 UI 分成小的独立并可重用的部分。 每个组件彼此独立,而不会影响 UI 的其余部分 7、 React 中 render()的目的?...它们总是在整个应用中从父组件传递到子组件。子组件永远不能将 prop 送回父组件。 这有助于维护单向数据流,通常用于呈现动态生成的数据 9、React 中的状态是什么?...这些 key 必须是唯一的数字或字符串,React 只是重新排序元素而不是重新渲染它们。 这可以提高应用程序的性能 18、MVC 框架的主要问题是什么?...store 是一个 JavaScript 对象,它可以保存程序的状态, 并提供一些方法来访问状态、调度操作和注册侦听器。 应用程序的整个状态/对象树保存在单一存储中。
几年前还在争论单向绑定和双向绑定孰优孰劣,现在三大框架已经不约而同选择单向绑定,双向绑定沦为单纯的语法糖。...庆幸的是除了 React 社区,Vue 社区有类似的 Vuex,Angular 社区有 NgRx 也提供了几乎同样的能力,甚至 NgRx 还可以无缝使用 redux-devtools 来调试状态变化。...对于 Fetch 返回的数据我们定义了 AsyncTuple 这种类型,减少了样板代码; 明确的组织结构,第1层是 ROOT,第2层是各个页面,第3层是页面内的卡片,第4层是卡片的数据,这样划分最深处基本不会超过...最终我们得到如下扁平的状态树。虽庞大但有序,你可以快速而明确的访问任何数据。 ? 如何减少样板代码? 使用原生 Redux,一个常见的请求处理如下。...另外 iron-redux 能接收到 Pont 接口响应数据格式,并推导出整个 Redux 状态树的静态类型定义,Store 中的数据完美的类型提示。效果如下: ?
领取专属 10元无门槛券
手把手带您无忧上云