我正在将拖动功能实现为一个角度应用程序:http://jsfiddle.net/Jjgmz/1/
部分原因是监听mousemove
文档对象上的事件.
$(document).mousemove(function(e) {});
Run Code Online (Sandbox Code Playgroud)
如何在组件内部监听文档对象?
让我们假装这是component.html文件的内容:
<div id="box"></div>
Run Code Online (Sandbox Code Playgroud)
我正在使用Angular 4.
我正在使用此代码使按钮的两个角变圆.
let buttonPath = UIBezierPath(roundedRect: button.bounds,
byRoundingCorners: .TopLeft | .BottomLeft,
cornerRadii: CGSizeMake(1.0, 1.0))
Run Code Online (Sandbox Code Playgroud)
它抛出一个错误:
二元运算符'|' 不能应用于两个UIRectCorner操作数.
如何在Swift 2.0中使用此方法?
我正在使用 *ngFor 创建一堆 div。我想把手放在其中一个上并获得它的宽度。
.html
<div #elReference *ngFor="let el of elements> HEHE </div>
.ts
@ViewChild("elReference") elReference: ElementRef;
Run Code Online (Sandbox Code Playgroud)
显然,您不能将 ViewChild 与 *ngFor 一起使用,因为它elReference
仍未定义。
你如何获得使用 *ngFor 创建的元素引用?
我试图缩放div,但保持内部元素在相同的位置和相同的大小.为此,我使用transform: scale(value)
包装器和transform: scale(1/value)
内部div.
问题是,当我改变比例时,内部div会发生变化.只有当包装纸的宽度/高度为奇数或不是整数时才会发生这种情况.对于包装器的均匀宽度/高度不会发生这种情况.
我的目标是让许多包装器的子元素与包装器一起缩放,但只有一个不包装.
看看这个例子,看看行动中的问题(悬停到比例).
示例没有问题,内部元素保持固定(容器的高度和宽度均匀):
https://jsfiddle.net/o16rau6u/5/
.wrapper {
width: 200px;
height: 200px;
background-color: blue;
position: relative;
}
.bg {
width: 20px;
height: 20px;
display: inline-block;
position: absolute;
top: 50%;
left: 50%;
margin-top: -10px;
margin-left: -10px;
background-image: url("https://upload.wikimedia.org/wikipedia/commons/thumb/f/f9/Wiktionary_small.svg/350px-Wiktionary_small.svg.png");
background-size: 100% 100%;
background-repeat: no-repeat;
}
.wrapper:hover {
transform: scale(2);
}
.wrapper:hover .bg {
transform: scale(0.5);
}
Run Code Online (Sandbox Code Playgroud)
<div id="wrapper" class="wrapper">
<div id="bg" class="bg"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
有问题的例子,内部元素在比例上移动一点(容器的高度和宽度是奇数):
https://jsfiddle.net/o16rau6u/6/
.wrapper {
width: …
Run Code Online (Sandbox Code Playgroud)我成功地将ts-node
其转换为 CommonJS 模块。我用的是官方的:docs
我还想按照官方esm 文档使用 esm 模块,但不幸的是没有成功。我不断收到的错误是:CustomError: Cannot find module '/module/next/to/index/ts/ModuleName' imported from /Users/mainuser/angular_apps/typescript_test/index.ts
这是tsconfig.json
{
"compilerOptions": {
"target": "ES2015",
"module": "ES2020",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true
},
"ts-node": {
"esm": true
}
}
Run Code Online (Sandbox Code Playgroud)
这是package.json的竞赛:
{
"name": "typescript_test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {},
"devDependencies": {
"ts-node": "^10.7.0",
"typescript": "^4.6.3"
}, …
Run Code Online (Sandbox Code Playgroud) 通过 gmail API 发送邮件时如何设置发件人姓名和姓氏?
我使用这个代码:https : //github.com/chris-brown-nz/python-gmail-api
代码很棒,我成功发送了邮件。但是,发件人的姓名只是@
sign留下的文本。示例:如果John Travis
从johnhomeboy@gmail.com
接收方显示的姓名发送电子邮件,则将是johnhomeboy
,而不是John Travis
。我需要设置什么属性才能发送带有我的名字和姓氏的电子邮件?
我正在尝试检查局部变量的值。此功能适用于某些变量。对于那些没有的人,Rider 会提出一个错误:
The name `variable_name` does not exists in the current context.
Run Code Online (Sandbox Code Playgroud)
代码和调试器观察错误的图像示例:
这是反编译的代码,但即使在这里它也适用于某些局部变量。有什么办法可以解决这个问题?
我已经检查过Settings->Build, Execution, Deployment->Disable JIT optimization on module load (.NET/.NET Core only)
,但正如它所说,它仅适用于 .NET/.NET Core 模块
我收到此错误:
getaddrinfo ENOTFOUND localhost
Error: getaddrinfo ENOTFOUND localhost
at errnoException (dns.js:28:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)
Run Code Online (Sandbox Code Playgroud)
运行时ng serve
。在 Web 查找之后,此问题的建议答案是运行以下命令:
ng serve --port 4200 --host 0.0.0.0
Run Code Online (Sandbox Code Playgroud)
不幸的是,指示没有解释。
这有效并且成功编译了 Angular 项目。我不知道为什么。有人能解释一下为什么会这样,以及背景中发生了什么吗?谢谢
我正在尝试设置角度应用程序以使用2个不同的本地主机.
我backend
在项目根目录中创建了一个文件夹,并echo.php
在其中添加了文件.在项目根目录中,我还创建了proxy.conf.json,其中包含以下内容:
{
"/backend/**": {
"target": "http://localhost:80",
"secure": false
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试用以下方法获取echo.php:
ngOnInit(){
this.http.get('http://localhost:4200/backend/echo.php').subscribe(data => {
console.log(data);
});
}
Run Code Online (Sandbox Code Playgroud)
启动Angular应用程序:
ng serve --port 4200 --host 0.0.0.0 --proxy-config proxy.conf.json
Run Code Online (Sandbox Code Playgroud)
在浏览器控制台中,我得到了一个504 error Gateway Timeout
.在终端中,错误听起来有点不同:
[HPM] Error occurred while trying to proxy request /backend/echo.php from localhost:4200 to http://localhost:80 (ENOTFOUND)
Run Code Online (Sandbox Code Playgroud)
我不知道我做错了什么.你能为我指出正确的方向吗?我可以使用以下URL直接访问非角度(在端口80上运行)服务器上的文件:http://localhost/backend/echo.php.
编辑:
echo.php:
<?php
echo "data from php";
Run Code Online (Sandbox Code Playgroud) 我正在考虑在有角度的应用程序中实现撤消,重做功能的方法。
第一个也是最基本的想法是使用一个完全描述应用程序内部的模型,称之为AppModel
。对于每个值得记录的更改,您只需创建一个新对象AppModel
并将其推入堆栈并更新currentIndex。
在绝对最坏的情况下,AppModel的对象必须填写500个文本字段,平均长度为20个字符。每次更新就是10000个字符或10kB。
这个数字有多糟?我不认为这是否会导致内存问题,但是否会使每次推送堆栈时应用程序冻结?这是一个基本的实现:
historyStack: AppModel[];
currentIndex:number = -1;
push(newAppModel:AppModel){
//delete all after current index
this.historyStack.splice(++this.currentIndex, 0, newAppModel);
}
forward(){
if(this.currentIndex < this.historyStack.length-1){
this.currentIndex++;
return this.historyStack[this.currentIndex];
}
return this.historyStack[this.currentIndex];
}
back(){
return this.historyStack[this.currentIndex--];
}
Run Code Online (Sandbox Code Playgroud)
我想到的另一种选择是存储执行redo
和reverse
操作的函数调用。这种方法将需要我还存储哪些对象需要调用函数。用户可能会删除这些对象,因此还必须有一种重新创建对象的方法。当我输入时,这变得很痛苦:)
您推荐什么方式?