这个for循环是否会停止?
for (var i=0; 1/i > 0; i++) {
}
Run Code Online (Sandbox Code Playgroud)
如果是的话,何时以及为何?我被告知它停止了,但我没有理由这样做.
作为调查的一部分,我写了很长很详细的文章,解释了幕后发生的一切 - 以下是关于JavaScript的数字类型你需要了解的内容
我有一个使用可出租经营者这个非常简单的例子map有pipe来自rxjs@5.5:
import { map } from 'rxjs/operator/map';
let o = of(1, 2, 3, 4).pipe(
map((v) => v * 2)
);
Run Code Online (Sandbox Code Playgroud)
但它会产生错误Error:(34, 5) TS2684:The 'this' context of type 'void' is not assignable to method's 'this' of type 'Observable<{}>'.这里的问题是什么?
我正在使用Kohana框架,它允许多个类定义(在应用程序和系统子文件夹中).我正在使用phpstorm作为一个给我消息的IDE multiple definitions exist for class.有没有办法告诉phpStorm哪个类定义是正确的?
我是Angular和Angular2的初学者.我对工作流程的结构感到困惑.我一直在查看Angular2站点中的示例项目.
如果我错了,请纠正我,但我所知道的是所有的打字稿都是由打字稿编译器转换成javascript的.然后编译的javascript实际上是在浏览器中运行的.
现在,如果我使用ES6导入语句将javascript文件导入typescript,如下所示:
import { NgModule } from '@angular/core';
Run Code Online (Sandbox Code Playgroud)
为什么我再次需要使用SystemJS来加载它们:
map: {
// our app is within the app folder
app: 'app',
// angular bundles
'@angular/core': 'npm:@angular/core/bundles/core.umd.js',
Run Code Online (Sandbox Code Playgroud)
我的意思是,这不是反效果吗?查看ts文件的已转换的javascript,它显示所有import语句都转换为require()语句. 首先,require()在ES5 js文件中是如何工作的,如果是这样的话,那么SystemJS是怎么做的.
这让我很困惑.任何帮助将不胜感激.
在这里,我在Angular4应用程序中有一个复杂的数据结构.
它是在节点和链路上使用字典进行参数化的有向多图.我的角度组件正在处理这个复杂的数据模型.
在Angular2.4中,一切正常.自从我们切换到Angular4后,我将其添加到我的DOM中:
<g flareNode="" ng-reflect-model="{'id':'an-id-of-my-object'">
Run Code Online (Sandbox Code Playgroud)
...从以下模板片段生成:
<svg:g flareNode [model]="item"></svg:g>
Run Code Online (Sandbox Code Playgroud)
注意,model这里只是我组件的数据成员.它没有(......应该没有)特定的Angular2含义.它是我的应用程序背后的复杂数据结构的一部分.
我的第一印象是Angular 序列化model组件类的数据成员,得到它的30个第一个字符,然后将这个完全无用的东西放入DOM中!
我对吗?这个整体ng-reflect-model在DOM中是什么,Angular4中它在Angular2中没有的具体目的是什么?
我似乎无法弄清楚为什么我需要ngDoCheck生命周期钩子而不是简单的通知,特别是如何在其中编写代码与变化检测有关.我发现的大多数示例都显示了无用的示例,如此示例,具有一堆日志记录功能.
此外,在生成的类中,我没有看到它被用于除简单通知之外的其他内容:
conmponent/wrapper.ngfactory.js
Wrapper_AppComponent.prototype.ngDoCheck = function(view,el,throwOnChange) {
var self = this;
var changed = self._changed;
self._changed = false;
if (!throwOnChange) {
if (changed) {
jit_setBindingDebugInfoForChanges1(view.renderer,el,self._changes);
self._changes = {};
}
self.context.ngDoCheck(); <----------- this calls ngDoCheck on the component
but the result is not used
anywhere and no params are passed
}
return changed;
};
Run Code Online (Sandbox Code Playgroud) 我见过的大多数git工作流建议branch在合并到master之后删除它.例如,这个gitflow建议如下:
# Incorporating a finished feature on develop
$ git checkout develop
Switched to branch 'develop'
$ git merge --no-ff myfeature
Updating ea1b82a..05e9557
(Summary of changes)
$ git branch -d myfeature
Deleted branch myfeature (was 05e9557).
$ git push origin develop
Run Code Online (Sandbox Code Playgroud)
我为什么要删除分支?我也好奇当以后发现一个由该功能引入的错误时该怎么做 - 我是否应该再创建一个具有相同名称的分支,修复那里的bug,合并到master并再次删除分支?
我真的不明白我应该从什么地方回来trackBy.根据我在网上看到的例子,我应该返回对象上某些属性的值.这是对的吗?为什么我将索引作为参数?
例如,在以下情况中:
constructor() {
window.setInterval(() => this.users = [
{name: 'user1', score: Math.random()},
{name: 'user2', score: Math.random()}],
1000);
}
userByName(index, user) {
return user.name;
}
...
<div *ngFor="let user of users; trackBy:userByName">{{user.name}} -> {{user.score}}</div>
Run Code Online (Sandbox Code Playgroud)
尽管名称未更改,但模板中显示的对象仍会更新.为什么?
我有以下灰线限制了单行可以容纳的字符数:
我想更改不同文件的行长度(此填充可能会影响此行当前显示的位置):对于js,php文件等一行长度,对于HTML模板文件另一行.可能吗?如果没有,我如何至少更改所有文件类型?