我想在 REM 中使用字体大小调整,在互联网上我发现了以下技巧:
html { font-size: 62.5%; }
body { font-size: 1.4rem; } /* =14px */
h1 { font-size: 2.4rem; } /* =24px */
Run Code Online (Sandbox Code Playgroud)
由于设置font-size: 62.5%;覆盖rem <-> px(像素)很容易(只需将像素值除以 10)。
但是我想知道 - 为什么不使用值6.25% - 在这种情况下,我们的技巧将如下所示:
html { font-size: 6.25%; }
body { font-size: 14rem; } /* =14px */
h1 { font-size: 24rem; } /* =24px */
Run Code Online (Sandbox Code Playgroud)
并且这种方法看起来更直接,对于 62.5% 的值(我们可以将 rem 转换为 px 而不更改数值)-但是我有一个问题-为什么人们“在互联网上”不使用这种方法-可能会导致一些问题(即我不知道)?
我在使用LFS的bitbucket上有一个存储库。自使用了一段时间以来,我决定将存储库移回我控制的空间。首先使用LFS的唯一原因是有效地增加了存储库大小限制(因为LFS中的文件位于单独的存储桶中),但是现在我要移动它,因此不再需要这样做。
我需要一种方法来遍历整个git历史记录,删除git LFS所做的工作的所有痕迹(以便所有文件均“正常”提交)。完成此操作后,我打算强制推送到新的存储库。
我已经做了很多搜索,遇到了建议的解决方案,但是由于它们是高级的,所以我不知道如何实现/运行它们。
我如何向git LFS告别?
在我的模板中,我有一个字段和两个按钮:
<div class="btn-plus" (click)="add(1)"> - </div>
<div class="txt"> {{ myValue }} </div>
<div class="btn-minus" (click)="add(-1)"> + </div>
Run Code Online (Sandbox Code Playgroud)
在我的组件 .ts 文件中,我有:
add(num) {
this.myValue +=num;
this.update(); // async function which will send PUT request
}
Run Code Online (Sandbox Code Playgroud)
该this.update()函数myValue在一个大的 JSON 对象中放入适当的字段并将其发送到服务器。
问题:当用户在短时间内点击加号/减号按钮 10 次时,请求将被发送 10 次。但我只想发送一次请求 - 最后一次点击后 0.5 秒。怎么做?
我正在开发一个包含搜索功能的应用程序。
现在我在应用程序 1. Navbar 2. SearchGridList 中有 2 个组件
Navbar 组件包含一个文本框,您可以在其中输入搜索查询并按 Enter,该组件将进行 api 调用并获取数据。当数据回来时,我想将此数据填充到 SearchGridList 组件中的数组中。
我很难理解在 Angular 中的组件内传递数据,有人可以看看我的代码并指导我。
导航栏.component.ts
import { Component, OnInit, Input, Output } from '@angular/core';
import {DataService} from '../../services/data.service';
import {SearchResults} from '../class/search.class';
import {SearchGridListComponent} from '../search-grid-list/search-grid-list.component';
import { EventEmitter } from '@angular/core';
@Component({
selector: 'app-navbar',
templateUrl: './navbar.component.html',
styleUrls: ['./navbar.component.css']
})
export class NavbarComponent implements OnInit {
searchQuery : String;
//searchResultList : Array<any> = [];
constructor(private dataService : DataService) { }
doSearch () : any
{ …Run Code Online (Sandbox Code Playgroud) 我具有以下结构,我需要包装div一下.item。在某些地方,有两个项目,在某个地方,有一个项目:
<div class="section">
<div class="heading"></div>
<div class="item"></div>
<div class="item"></div>
<div class="heading"></div>
<div class="item"></div>
<div class="item"></div>
<div class="heading"></div>
<div class="item"></div>
<div class="heading"></div>
<div class="item"></div>
<div class="item"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我需要以下格式的输出:
<div class="section">
<div class="heading"></div>
<div>
<div class="item"></div>
<div class="item"></div>
</div>
<div class="heading"></div>
<div>
<div class="item"></div>
<div class="item"></div>
</div>
<div class="heading"></div>
<div>
<div class="item"></div>
</div>
<div class="heading"></div>
<div>
<div class="item"></div>
<div class="item"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下代码,但将所有代码包装到单个类中。
var classes = {};
$(".section > div").each(function() {
classes[$(this).attr("class")] = true;
});
for (singleClass in …Run Code Online (Sandbox Code Playgroud) 我正在遍历一个对象数组:
people = [
{id:1, name:"Bob", available:false},
{id:2, name:"Sally", available:true},
{id:1, name:"Trish", available:false},
]
Run Code Online (Sandbox Code Playgroud)
我希望我的输出是可用的名称:
["Sally"]
Run Code Online (Sandbox Code Playgroud)
我目前知道如何映射和提取字段。如何添加条件?
const peopleAvailable = people.map(person => person.value);
Run Code Online (Sandbox Code Playgroud)
想做这样的事情:
const peopleAvailable = people.map(person.available => person.value);
Run Code Online (Sandbox Code Playgroud) 下面代码中的替换器在控制台上写入当前处理的字段名称
let a = { a1: 1, a2:1 }
let b = { b1: 2, b2: [1,a] }
let c = { c1: 3, c2: b }
let s = JSON.stringify(c, function (field,value) {
console.log(field); // full path... ???
return value;
});Run Code Online (Sandbox Code Playgroud)
但是我想在替换函数中获得字段的完整“路径”(不仅仅是它的名称) - 像这样
c1
c2
c2.b1
c2.b2
c2.b2[0]
c2.b2[1]
c2.b2[1].a1
c2.b2[1].a2
Run Code Online (Sandbox Code Playgroud)
怎么做?
目前jsfuck使用以下代码来获取“C”字符
console.log(
Function("return escape")()(("")["italics"]())[2],
)
console.log( // after expansion
[]["flat"]["constructor"]("return escape")()(([]+[])["italics"]())[!![]+!![]]
)
console.log( // after final strings expansion we get pure jsfuck code
[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]][[]+([]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[!![]+!![]+!![]]+(!![]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[[]+(+!![])+(+[])]+([]+[][[]])[+!![]]+([]+![])[!![]+!![]+!![]]+([]+!![])[+![]]+([]+!![])[+!![]]+([]+!![])[!![]+!![]]+([]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[!![]+!![]+!![]]+([]+!![])[+![]]+(!![]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[[]+(+!![])+(+[])]+([]+!![])[+!![]]]([]+([]+!![])[+!![]]+([]+!![])[!![]+!![]+!![]]+([]+!![])[+![]]+([]+!![])[!![]+!![]]+([]+!![])[+!![]]+([]+[][[]])[+!![]]+(+[![]]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[+([]+(+!![])+(+!![]))]+([]+!![])[!![]+!![]+!![]]+([]+![])[!![]+!![]+!![]]+([]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[!![]+!![]+!![]]+([]+![])[+!![]]+(+([]+(!![]+!![])+(!![]+!![]+!![]+!![]+!![])))[[]+([]+!![])[+![]]+(!![]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[[]+(+!![])+(+[])]+([]+[])[[]+([]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[!![]+!![]+!![]]+(!![]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[[]+(+!![])+(+[])]+([]+[][[]])[+!![]]+([]+![])[!![]+!![]+!![]]+([]+!![])[+![]]+([]+!![])[+!![]]+([]+!![])[!![]+!![]]+([]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[!![]+!![]+!![]]+([]+!![])[+![]]+(!![]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[[]+(+!![])+(+[])]+([]+!![])[+!![]]][[]+([]+[][[]])[+!![]]+([]+![])[+!![]]+((+[])[[]+([]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[!![]+!![]+!![]]+(!![]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[[]+(+!![])+(+[])]+([]+[][[]])[+!![]]+([]+![])[!![]+!![]+!![]]+([]+!![])[+![]]+([]+!![])[+!![]]+([]+!![])[!![]+!![]]+([]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[!![]+!![]+!![]]+([]+!![])[+![]]+(!![]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[[]+(+!![])+(+[])]+([]+!![])[+!![]]]+[])[[]+(+!![])+(+!![])]+([]+!![])[!![]+!![]+!![]]]](+([]+(!![]+!![]+!![])+(+[])))+([]+!![])[!![]+!![]+!![]])()(([]+[])[[]+([]+[][[]])[!![]+!![]+!![]+!![]+!![]]+([]+!![])[+![]]+([]+![])[+!![]]+([]+![])[!![]+!![]]+([]+[][[]])[!![]+!![]+!![]+!![]+!![]]+([]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[!![]+!![]+!![]]+([]+![])[!![]+!![]+!![]]]())[!![]+!![]]
)Run Code Online (Sandbox Code Playgroud)
但是这种方法使用了不推荐使用的函数"".italics (信息在这里)。我开发了一个小工具并试图找到一些基于的替代方案,btoa但我遗憾地发现 node.js 不支持(在线)
console.log(
Function("return btoa")()("t.")[1]
)
console.log( // after expansion
[]["flat"]["constructor"]("return btoa")()("t.")[+!![]]
)
console.log( // after full expansion
[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]][[]+([]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[!![]+!![]+!![]]+(!![]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[[]+(+!![])+(+[])]+([]+[][[]])[+!![]]+([]+![])[!![]+!![]+!![]]+([]+!![])[+![]]+([]+!![])[+!![]]+([]+!![])[!![]+!![]]+([]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[!![]+!![]+!![]]+([]+!![])[+![]]+(!![]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[[]+(+!![])+(+[])]+([]+!![])[+!![]]]([]+([]+!![])[+!![]]+([]+!![])[!![]+!![]+!![]]+([]+!![])[+![]]+([]+!![])[!![]+!![]]+([]+!![])[+!![]]+([]+[][[]])[+!![]]+(+[![]]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[+([]+(+!![])+(+!![]))]+([][[]+([]+!![])[!![]+!![]+!![]]+([]+[][[]])[+!![]]+([]+!![])[+![]]+([]+!![])[+!![]]+([]+[][[]])[!![]+!![]+!![]+!![]+!![]]+([]+!![])[!![]+!![]+!![]]+([]+![])[!![]+!![]+!![]]]()+[])[!![]+!![]]+([]+!![])[+![]]+(!![]+[][[]+([]+![])[+[]]+([]+![])[!![]+!![]]+([]+![])[+!![]]+([]+!![])[+![]]])[[]+(+!![])+(+[])]+([]+![])[+!![]])()([]+([]+!![])[+![]]+(+(+!+[]+[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+[!+[]+!+[]]+[+[]])+[])[+!+[]])[+!![]]
)Run Code Online (Sandbox Code Playgroud)
有没有办法(在当前版本的 chrome、safari、firefox 和 node.js 上工作)使用 jsfuck 但不使用不推荐使用的方法来获取字符“C”?
抱歉我的英语 - 如果有些事情不清楚请在评论中问我 - 我会澄清这一点.
我在微服务架构中构建系统.我有一个服务包含用户信息,一个服务用于"优惠",一个服务用于"创意".服务"提供"和"想法"通过Restful API(登录和其他操作)提供"用户"服务.我想知道 - 如何处理电子邮件?每个服务都有单独的前端,并在某些操作后发送电子邮件(例如,当某些第三人打开链接时,某些提供创建此优惠的用户将收到电子邮件,或者当某个用户创建想法时,管理员将收到电子邮件).此外,在每个服务前端,经理可以使用季节统计数据或其他一些信息创建"定期"邮件.每个服务电子邮件的外观不同,内容也不同.
我有很多选择,不知道哪个更好.这是一些主张:
哪一个会更好?或者可能有更好的选择?
email rest email-integration restful-architecture microservices
我在客户端上使用credentials: 'include'和mode: 'cors'。在服务器上我看到access-control-allow-credentials: true和access-control-allow-origin: https://dev.com:9443标题。我没有看到我的cookie标题,我似乎无法找到它不发送的原因。如果我能提供更多详细信息,请告诉我。
获取请求
fetch(url, {
method: 'get',
credentials: 'include',
mode: 'cors',
headers: {
'Content-Type': 'application/json'
}
});
Run Code Online (Sandbox Code Playgroud)
选项请求头
:authority: prod.fakedomain.com
:method: OPTIONS
:path: /Search
:scheme: https
accept: */*
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9,fr;q=0.8,la;q=0.7
access-control-request-headers: content-type
access-control-request-method: GET
cache-control: no-cache
dnt: 1
origin: https://dev.com:9443
pragma: no-cache
referer: https://dev.com:9443/
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
Run Code Online (Sandbox Code Playgroud)
选项响应头
access-control-allow-credentials: true
access-control-allow-headers: content-type …Run Code Online (Sandbox Code Playgroud)