我正在写一个简单的角度组件.我将参数作为绑定传递并在屏幕上显示其值.一切正常:我可以看到屏幕上显示的参数.
零件:
var app = angular.module("test", []);
app.component("test", {
bindings: {
"contactId": "<"
},
controllerAs: "model",
controller: () => {
//output: 'contact id from controller: undefined'
console.log(`contact id from controller: ${this.contactId}`);
},
template: "<div>Contact id from view: {{model.contactId}}</div>"
});
Run Code Online (Sandbox Code Playgroud)
HTML:
<test contact-id="8"></test>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试从控制器中访问绑定时(请参阅console.log),绑定值为undefined.我不明白它在视图中是如何可用的,而不是在控制器中.
我究竟做错了什么?
这是一个解释问题的方法.
我正在创建一个Ionic应用程序es6 modules,TypeScript并SystemJS作为模块加载器.这是我的设置:
tsconfig.json:
{
"compilerOptions": {
...
"target": "es5",
"module": "system",
...
}
}
Run Code Online (Sandbox Code Playgroud)
index.html的:
<script src="lib/system.js"></script>
<script src="systemjs.config.js"></script>
<script>System.import('js/app.js')</script>
Run Code Online (Sandbox Code Playgroud)
示例脚本(TypeScript):
import {IConfig} from "./app-config";
export class ConfigLoader {
...
}
Run Code Online (Sandbox Code Playgroud)
Chrome中的一切都很棒.但是,在使用Safari的Web Inspector进行调试时,我无法在脚本中放置任何断点,因为Web Inspector仅显示直接从HTML加载的脚本(通过脚本标记),而不是XHR加载的脚本(在我的情况下,由SystemJS加载) .这意味着我无法调试自己的脚本,这当然是不可接受的.
我尝试像以前一样使用SystemJS解决这个问题,但也将脚本标记放在html中,如下所示:
<script src="lib/system.js"></script>
<script src="systemjs.config.js"></script>
<script src="js/app-config.js"></script>
... other app scripts
<script>System.import('js/app.js')</script>
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用,因为SystemJS对此并不满意:
无效的System.register调用.匿名System.register调用只能由SystemJS.import加载的模块进行,而不能通过脚本标记进行.
如何使用SystemJS并同时具备在Safari中调试的能力?我正在寻找比在每个脚本中放置调试器语句更复杂的解决方案......
我在ASP.NET Web API上使用Swashbuckle和Swagger.我正在尝试通过Swagger UI找到一种传递包含Bearer令牌的Authorization标头的方法.我一直在寻找,但所有答案似乎都指向了这个链接.
但是,这假定标题的内容是预先知道的.我真的需要一种方法来改变Swagger UI中的标题(在点击'试一试!'按钮之前),因为Bearer令牌每小时都会到期.类似于Postman允许您添加标题的方式.
这似乎是一个如此荒谬的简单问题,但答案是什么?
我需要在彼此旁边显示几个方框.每个框都有可变数量的子项.父母应根据子项目占用的空间进行扩展.物品的宽度固定很重要.我正在使用flexbox进行布局.它应该如下所示:
我写了一篇Plunkr来说明.
问题:当孩子占用更多空间时,Chrome不会扩展父级.子项目显示在父母的边界之外并出现在邻近的父级中,导致这种混乱:
具有讽刺意味的是,如果你在IE 11或Edge中打开Plunkr,它运行正常.
我究竟做错了什么?
这是一段代码片段:
body {
display: flex;
overflow: scroll;
}
.parent {
border: 1px solid grey;
padding: 0 20px;
display: flex;
flex-direction: column;
}
.items {
display: flex;
}
.items span {
flex-basis: 25px;
flex-shrink: 0;
}Run Code Online (Sandbox Code Playgroud)
<div class="parent">
<h4>Parent 1</h4>
<div class="items">
<span>i1</span>
<span>i2</span>
<span>i3</span>
<span>i4</span>
<span>i5</span>
</div>
</div>
<div class="parent">
<h4>Parent 2</h4>
<div class="items">
<span>i1</span>
<span>i2</span>
<span>i3</span>
<span>i4</span>
<span>i5</span>
</div>
</div>
<div class="parent">
<h4>Parent 3</h4>
<div class="items">
<span>i1</span>
<span>i2</span>
<span>i3</span>
<span>i4</span>
<span>i5</span> …Run Code Online (Sandbox Code Playgroud)如果元素具有(click)处理程序,并且您在该元素中选择了一些文本,则将(click)调用该处理程序。有办法防止这种情况吗?这是说明问题的Plunkr。相关代码:
@Component({
selector: 'my-app',
template: `
<div>
<h2 (click)="handleClick()">Click or select this text</h2>
</div>
`
})
export class App {
public handleClick() {
alert('you clicked');
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个在git源代码控制下的Visual Studio 2015解决方案.我添加了一个新项目,在本地提交了新项目,并将我的提交同步到远程存储库.所有这些都是通过Visual Studio Git插件完成的.但是,解决方案资源管理器仍然显示我的文件已更改或添加:
在Visual Studio团队资源管理器中,在"更改"下,未列出任何内容.在"同步"视图中,它显示"成功同步传入和传出提交".
当我通过git命令行查询本地更改时,没有列出任何内容:
使用刷新按钮在Visual Studio中刷新解决方案也不起作用.只有重新启动Visual Studio才能解决问题.
关于如何解决这个问题的任何线索?
我正在尝试使用TypeScript在Visual Studio 2013中使用SystemJS模块,但Visual Studio显示错误.
这是我的设置:
项目文件(VS 2013不支持tsconfig.json):
<TypeScriptToolsVersion>1.8</TypeScriptToolsVersion>
<TypeScriptModuleKind >system</TypeScriptModuleKind>
<TypeScriptTarget>es5</TypeScriptTarget>
这就是我所看到的:
这个问题与这个问题有关,但答案是"使用VS 2015",这对我来说根本不是一个选择.
有没有办法在Visual Studio 2013中使用SystemJS和TypeScript?它不一定是ES6风格的模块,只需要SystemJS和TypeScript的任何组合.谢谢!
visual-studio typescript ecmascript-6 visual-studio-2013 systemjs
我安装了 Visual Studio 2015 和 Visual Studio 2015 的 TypeScript 1.8.6。创建新的 TypeScript 项目并构建后,出现以下构建错误:
在 C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.8\tsc.exe 中找不到编译器
事实上,文件系统中缺少 tsc.exe。
我尝试过的事情:
关于如何解决这个问题有任何线索吗?哪个组件安装 TypeScript SDK?
我正在使用Visual Studio的测试工具进行单元测试.我需要一些初始化代码才能在每次测试之前运行.
我有一个Setup初始化代码类.我已经添加的代码每次测试运行之前运行,使用[AssemblyInitialize],但我无法弄清楚如何做同样一个测试的基础上.
我尝试使用该[TestInitialize]属性,但这仅适用于与[TestInitialize]方法相同的文件中的测试.我希望初始化代码能够自动运行程序集中的所有测试,而不必在每个测试文件中显式调用它.
[TestClass]
public class Setup
{
[AssemblyInitialize]
public static void InitializeTestRun(TestContext context)
{
//... code that runs before each test run
}
[TestInitialize] //this doesn't work!
public static void InitializeTest()
{
//... code that runs before each test
}
}
Run Code Online (Sandbox Code Playgroud) I'm using gulp-typescript and gulp-sourcemaps to compile TypeScript with sourcemaps. I want to output both the .js and the source map files to the same directory as the original .ts file.
I'm using a tsconfig.json file to configure TypeScript, and I'm using typings for managing TypeScript definition files. All of my own code is in the js directory. Here's my project structure:
project root
|-- js/
| |-- subdir/
| | |-- someScript.ts
| |-- app.ts
|-- typings/
| |-- …Run Code Online (Sandbox Code Playgroud) typescript ×3
ecmascript-6 ×2
javascript ×2
systemjs ×2
angular ×1
angularjs ×1
c# ×1
css ×1
css3 ×1
flexbox ×1
git ×1
gulp ×1
html ×1
safari ×1
swagger ×1
swagger-ui ×1
swashbuckle ×1
unit-testing ×1