小编Max*_*kyi的帖子

这个'for'循环停止了,为什么/为什么不呢?for(var i = 0; 1/i> 0; i ++){}

这个for循环是否会停止?

for (var i=0; 1/i > 0; i++) {
}
Run Code Online (Sandbox Code Playgroud)

如果是的话,何时以及为何?我被告知它停止了,但我没有理由这样做.

Upddate

作为调查的一部分,我写了很长很详细的文章,解释了幕后发生的一切 - 以下是关于JavaScript的数字类型你需要了解的内容

javascript

102
推荐指数
3
解决办法
6621
查看次数

RxJs管道和可调运算符`map`:'this'类型的'this'上下文不能赋值给'Observable <{}>'类型的方法'this'

我有一个使用可出租经营者这个非常简单的例子mappipe来自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<{}>'.这里的问题是什么?

javascript rxjs typescript

63
推荐指数
1
解决办法
2万
查看次数

类存在多个定义

我正在使用Kohana框架,它允许多个类定义(在应用程序和系统子文件夹中).我正在使用phpstorm作为一个给我消息的IDE multiple definitions exist for class.有没有办法告诉phpStorm哪个类定义是正确的?

phpstorm

59
推荐指数
7
解决办法
4万
查看次数

Angular2中SystemJS的需求是什么?

我是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是怎么做的.

这让我很困惑.任何帮助将不胜感激.

javascript systemjs angular

51
推荐指数
1
解决办法
2万
查看次数

Angular2/4中的"ng-reflect-*"属性有什么作用?

在这里,我在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中没有的具体目的是什么?

angular

43
推荐指数
1
解决办法
6万
查看次数

什么是前端开发中的"乐观更新"

我正在阅读模式介绍redux,那里有以下段落:

...考虑新要求在前端产品开发中变得普遍,例如处理乐观更新,在服务器上呈现,在执行路由转换之前获取数据等等.

我的问题是这里的乐观更新是什么?

html javascript frontend

42
推荐指数
1
解决办法
5621
查看次数

为什么我们需要`ngDoCheck`

我似乎无法弄清楚为什么我需要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)

angular2-docheck angular

38
推荐指数
4
解决办法
3万
查看次数

合并为master时,为什么要删除功能分支?

我见过的大多数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并再次删除分支?

git git-flow

35
推荐指数
1
解决办法
6540
查看次数

如何在ngFor中使用trackBy

我真的不明白我应该从什么地方回来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)

尽管名称未更改,但模板中显示的对象仍会更新.为什么?

angularjs-track-by ngfor angular

32
推荐指数
5
解决办法
3万
查看次数

如何为不同类型的文件设置行限制长度?

我有以下灰线限制了单行可以容纳的字符数:在此输入图像描述

我想更改不同文件的行长度(此填充可能会影响此行当前显示的位置):对于js,php文件等一行长度,对于HTML模板文件另一行.可能吗?如果没有,我如何至少更改所有文件类型?

intellij-idea phpstorm

30
推荐指数
3
解决办法
2万
查看次数