升级到Visual Studio 2015后,"编译保存"功能对我不起作用.当我对.ts项目中的文件进行更改并保存时,IDE底部的状态栏显示Output(s) generated successfully,但生成的.js文件没有不要改变.
这是我尝试过的:
将以下内容添加到<Project>我的根元素中.csproj:
<PropertyGroup>
<TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)检查并取消选中"自动编译不属于项目的TypeScript文件"选项Tools -> Options -> TypeScript -> Project:
仔细检查以确保在我的项目的TypeScript Build属性中选中"Compile on save":
我错过了什么?
作为旁注,TypeScript编译步骤在由常规构建触发时按预期工作.
javascript compilation visual-studio typescript visual-studio-2015
我有以下SVG图形:
<svg width='36' height='30'>
<defs>
<linearGradient id="normal-gradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:rgb(81,82,84); stop-opacity:.4"/>
<stop offset="100%" style="stop-color:rgb(81,82,84); stop-opacity:1"/>
</linearGradient>
<linearGradient id="rollover-gradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:rgb(0,105,23); stop-opacity:.5"/>
<stop offset="100%" style="stop-color:rgb(0,105,23); stop-opacity:1"/>
</linearGradient>
<linearGradient id="active-gradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:rgb(0,0,0); stop-opacity:.4"/>
<stop offset="100%" style="stop-color:rgb(0,0,0); stop-opacity:1"/>
</linearGradient>
</defs>
<text x="8" y="25" style="font-size: 29px;" font-family="Arial">hello world</text>
</svg>'
Run Code Online (Sandbox Code Playgroud)
我通过CSS 设置元素的fill属性,text并根据悬停状态在各种渐变之间切换.这在Chrome和Safari中效果很好,但在Firefox中,文字没有显示出来.在检查元素时,我发现Firefox附加none到我的fill: url(#...)CSS属性的末尾.我尝试none使用Firebug 删除关键字,但Firebug只删除整个属性.为什么会这样?
编辑:
我应该注意,如果我删除设置fill属性的CSS,并将属性硬编码fill到text …
是否可以构建一个使用Angular Material的npm模块,并允许它定义的组件由消费应用程序的自定义主题设置样式?
作为一个例子,假设我创建了一个包含具有以下模板的组件的npm模块:
<button mat-raised-button color="accent">Click me!</button>
Run Code Online (Sandbox Code Playgroud)
是否可以将此组件导入两个不同的应用程序,每个应用程序定义一个自定义的Angular Material主题,并使按钮采用当前应用程序主题的"重音"颜色?
目前,我正在使用ng-packagr来构建Angular友好的npm模块.但是,据我所知,此模块包含一个.scss编译阶段作为打包过程的一部分,这意味着模块中定义的任何样式都无法通过使用该模块的应用程序中的主题进行自定义.
我正在努力在HTML表格行上实现类似iOS的滑动到删除手势.例如,向左滑动Site11将从标准行转动:

进入可删除的行:

我有这个功能与ng-swipe-left指令一起使用.但是,我还在ng-click每行导航到应用程序的不同视图的指令.目前,当我在一行上执行滑动时触发这两个事件,除非滑动在"Site11"文本本身上结束,而不是在行内的任何其他位置.例如,此手势将触发ng-click和ng-swipe-left处理程序:

但这个手势只会触发ng-swipe-left处理程序:

ng-click如果在行上执行滑动,无论滑动在何处结束,如何防止处理程序被触发?
这是我的HTML结构的要点,它定义了每一行:
<tr ng-repeat="item in items">
<td ng-click="openDetailPane()"
ng-swipe-left="$parent.swipeDeleteItemId = item.Id"
ng-swipe-right="$parent.swipeDeleteItemId = 'none'">
<div list-item></div>
</td>
<td>
<i class="fa fa-angle-right fa-2x" />
<span>{{item.ChildCount}}</span>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
删除按钮在list-item指令内定义; 只有当它的ID与swipeDeleteItemId控制器上的属性匹配时才可见:
<div class="list-item">
<span>{{item.Name}}</span>
<div ng-class="{true: 'is-visible', false: ''}[item.Id === swipeDeleteItemId]">
<div class="delete-item-swipe-button"
ng-mousedown="$event.stopPropagation();"
ng-click="$event.stopPropagation();">Delete</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我应该提一下,我只在Chrome和IE11的桌面版本中试过这个 - 我假设从鼠标注册中单击并拖动与移动设备上的滑动相同.
我正在处理的网站在滚动对话框窗口中显示大量(> 50)复杂SVG图像.在Chrome中查看网站时,对话窗口的滚动性能非常差 - 显着滞后和缓慢.但是,如果我用PNG图像替换SVG图像,则滚动非常平滑且响应迅速.
以下是差异的演示:https://jsfiddle.net/NathanFriend/42knwc1s/
为什么SVG滚动性能比PNG滚动性能差得多?在浏览器呈现SVG图像之后,我认为它不需要重新渲染图像,直到以某种方式操纵图像(如调整大小).滚动包含SVG图像的元素是否会导致为滚动动画的每一帧重新渲染图像?
`
Run Code Online (Sandbox Code Playgroud) 看到这个jsFiddle:
http://jsfiddle.net/nathanfriend/vAcpc/9/
似乎preventDefault()方法不会阻止单击的单选按钮切换(注意该消息始终显示 "此单选按钮已被选中",无论其先前状态如何).但是,在onclick()方法完成后,单选按钮会快速恢复到其初始状态(第一次选择单选按钮除外).
似乎preventDefault()不是通过实际阻止选中单选按钮来工作,而是通过将按钮组返回到其先前状态.谁能解释这种行为?我希望能够完全阻止单选按钮被切换 - 这样我就可以准确地检查是否在其onclick()方法中检查了单选按钮.有任何想法吗?
有没有办法在JavaScript中销毁HTML5 WebWorkers?
这是我的情况:我有一个Web应用程序,可以生成相当数量的WebWorkers(16到32之间),以优化一些渲染过程.这个过程在前几次工作正常,但是当脚本运行多次(不重新加载页面)时页面就会死掉.当我尝试同时产生大量(100+)WebWorkers时,我得到的是同样的错误,所以我假设我遇到了同样的障碍.
当脚本不止一次运行时,在第一轮中实例化的WebWorkers不再需要存在; 我不重用任何WebWorker对象.我想破坏第一次创建的WebWorkers,以便在尝试生成新的WebWorkers时,脚本的未来执行不会停止.
我在Chrome和Firefox中只注意到了这个问题; Safari似乎没有这个限制.
我有一个Web.API端点,它将这样的对象作为参数:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
public UserName UserName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
例如:
[Route("api/person")]
[AcceptVerbs("POST")]
public void UpdatePerson(Person person)
{
// etc.
}
Run Code Online (Sandbox Code Playgroud)
(这只是一个例子 - 我们实际上并没有通过我们的Web.API端点接受用户名)
我们的UserName类是一个定义隐式运算符的对象string,因此我们对string整个应用程序的处理方式完全一样.
遗憾的是,Web.API不会自动知道如何将相应的JavaScript Person对象反序列化为C#Person对象 - 反序列化的C#Person对象始终为null.例如,以下是我如何使用jQuery从我的JavaScript前端调用此端点:
$.ajax({
type: 'POST',
url: 'api/test',
data: { FirstName: 'First', LastName: 'Last', Age: 110, UserName: 'UserName' } …Run Code Online (Sandbox Code Playgroud) 通常,在Electron应用程序中,您可以require从主进程和渲染器进程中节点模块:
var myModule = require('my-module');
Run Code Online (Sandbox Code Playgroud)
但是,如果页面是通过HTTP而不是本地文件系统加载的,那么这似乎不起作用.换句话说,如果我打开这样一个窗口:
win.loadURL(`file://${__dirname}/index.html`);
Run Code Online (Sandbox Code Playgroud)
我可以require没有问题的节点模块.但是,如果我打开一个这样的窗口:
win.loadURL(`http://localhost:1234/index.html`);
Run Code Online (Sandbox Code Playgroud)
我的require网页中不再有节点模块 - 我进入Uncaught Error: Cannot find module 'my-module'了网页的控制台.有没有办法在通过HTTP提供的Electron页面中使用节点模块?
一点上下文:我的公司正在构建一个需要能够作为Web应用程序托管并在Electron shell中的应用程序.为了使这两个环境更加简单和一致,我的Electron应用程序启动了一个本地Web服务器并打开了托管的应用程序http://localhost:1234.现在,我希望能够使用拼写检查/拼写建议添加到应用程序中electron-spell-check-provider.这个模块需要在渲染器进程中导入和初始化,所以我正在尝试require('electron-spell-check-provider')进入我的网页,但是这会因Cannot find module错误而失败.
我在Chrome的开发人员工具中启用了"模拟触摸事件"选项.我设置了一个简单的测试程序,当我触摸时会发出警报<div>.该程序在我的Galaxy Nexus上工作正常,但是当我点击<div>Chrome时,即使启用了"模拟触摸事件"选项,也没有任何反应.有什么建议?我正确使用此工具吗?
这是我的代码 - 没什么太花哨的.
<!DOCTYPE html>
<html lang="en">
<head>
<style type="text/css">
#main_div
{
position: absolute;
width: 50px;
height: 20px;
background-color: red;
top: 50%;
left: 20px;
}
</style>
<script type="text/javascript">
function init()
{
main_div = document.getElementById("main_div");
main_div.ontouchstart = function()
{
alert("here");
}
}
</script>
</head>
<body onload="init()">
<div>
<p id="x">hello</p>
<p id="y"></p>
</div>
<div id="main_div">
hello
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) mobile google-chrome touch touch-event google-chrome-devtools
javascript ×5
firefox ×2
svg ×2
angular ×1
angularjs ×1
c# ×1
compilation ×1
css ×1
electron ×1
fill ×1
gradient ×1
jquery ×1
json ×1
mobile ×1
node-modules ×1
node.js ×1
npm ×1
onclick ×1
performance ×1
png ×1
radio-button ×1
render ×1
require ×1
safari ×1
swipe ×1
touch ×1
touch-event ×1
typescript ×1
web-worker ×1