小编str*_*str的帖子

获得意外的令牌导出

我试图在我的项目中运行一些ES6代码,但我收到意外的令牌导出错误.

export class MyClass {
  constructor() {
    console.log("es6");
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript babel ecmascript-6 webpack

161
推荐指数
7
解决办法
18万
查看次数

如何在不使用JQUERY的情况下加入两个JavaScript对象

我有两个json对象obj1和obj2,我想合并它们并克里特一个json对象.结果json应该具有来自obj2的所有值和来自obj1的值,这些值在obj2中不存在.

Question:

var obj1 = {
    "name":"manu",
    "age":23,
    "occupation":"SE"
}

var obj2 = {
    "name":"manu",
    "age":23,
    "country":"india"
}

Expected:

var result = {
    "name":"manu",
    "age":23,
    "occupation":"SE",
    "country":"india"
}
Run Code Online (Sandbox Code Playgroud)

javascript

83
推荐指数
4
解决办法
15万
查看次数

向Angular Application添加多个HTTP拦截器

如何向Angular 4应用程序添加多个独立的HTTP拦截器?

我尝试通过providers使用多个拦截器扩展数组来添加它们.但是只有最后一个实际执行,Interceptor1才会被忽略.

@NgModule({
  declarations: [ /* ... */ ],
  imports: [ /* ... */ HttpModule ],
  providers: [
    {
      provide: Http,
      useFactory: (xhrBackend: XHRBackend, requestOptions: RequestOptions) =>
        new Interceptor1(xhrBackend, requestOptions),
      deps: [XHRBackend, RequestOptions],
    },
    {
      provide: Http,
      useFactory: (xhrBackend: XHRBackend, requestOptions: RequestOptions) =>
        new Interceptor2(xhrBackend, requestOptions),
      deps: [XHRBackend, RequestOptions]
    },
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}
Run Code Online (Sandbox Code Playgroud)

我显然可以将它们组合成一个单独的Interceptor类,这应该可行.但是,我想避免这种情况,因为这些拦截器具有完全不同的目的(一个用于错误处理,一个用于显示加载指示符).

那么如何添加多个拦截器呢?

http interceptor angular-http-interceptors angular

68
推荐指数
1
解决办法
3万
查看次数

PHP DateTime类名称空间

我正在使用symfony2框架,我想使用PHP的DateTime类(PHP版本是5.3).

声明在这里:

namespace SDCU\GeneralBundle\Entity;

class Country
{
   public function __construct(){
       $this->insertedAt = new DateTime();
   }
}
Run Code Online (Sandbox Code Playgroud)

但是,在执行此构造函数时,我收到一条错误消息,指出没有"SDCU\GeneralBundle\Entity\DateTime"类.我一直在寻找DateTime的命名空间,但没有成功......任何想法?

php datetime namespaces

45
推荐指数
2
解决办法
5万
查看次数

在打字稿中替换Angular2的Elvis算子

打字稿中是否有任何运算符使用Elvis Operator了angular2的similer,我的意思是说让我必须从对象获取密钥,如下所示:

this.myForm.name.first_name
Run Code Online (Sandbox Code Playgroud)

如果first_name不存在,那么它会抛出错误first_name of undefined,

是的,我可以使用这样Ternary operator的打字稿来解决这个错误

this.myForm.name ? this.myForm.name.first_name : ''
Run Code Online (Sandbox Code Playgroud)

但有时钥匙太长了,

所以Elvis Operator在打字稿中有任何类似angular2的操作符,这样我就可以这样使用了

this.myForm?.name?.first_name
Run Code Online (Sandbox Code Playgroud)

javascript typescript angular

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

替换数组中的对象

我有这个javascript对象:

var arr1 = [{id:'124',name:'qqq'}, 
           {id:'589',name:'www'}, 
           {id:'45',name:'eee'},
           {id:'567',name:'rrr'}]

var arr2 = [{id:'124',name:'ttt'}, 
           {id:'45',name:'yyy'}]
Run Code Online (Sandbox Code Playgroud)

我需要用arr2中具有相同id的项替换arr1中的对象.

所以这是我想得到的结果:

var arr1 = [{id:'124',name:'ttt'}, 
           {id:'589',name:'www'}, 
           {id:'45',name:'yyy'},
           {id:'567',name:'rrr'}]
Run Code Online (Sandbox Code Playgroud)

如何使用javascript实现它?

javascript lodash

31
推荐指数
6
解决办法
4万
查看次数

将键数组和值数组合并到Javascript中的对象中

我有:

var keys = [ "height", "width" ];
var values = [ "12px", "24px" ];
Run Code Online (Sandbox Code Playgroud)

我想把它转换成这个对象:

{ height: "12px", width: "24px" }
Run Code Online (Sandbox Code Playgroud)

在Python中,有一个简单的习语dict(zip(keys,values)).在jQuery或普通的Javascript中是否有类似的东西,或者我必须做很长的事情吗?

javascript idioms

25
推荐指数
6
解决办法
2万
查看次数

在D3中动态更新图表数据

我正在研究传入数据的实时可视化.我使用D3进行可视化,并基于此示例开始:http://bl.ocks.org/mbostock/3883195

这是我目前正在处理的版本:

  var margin = {top: 20, right: 20, bottom: 30, left: 50},
  width = 500 - margin.left - margin.right,
  height = 300 - margin.top - margin.bottom;

  var x = d3.time.scale().range([0, width]);
  var y = d3.scale.linear().range([height, 0]);

  var xAxis = d3.svg.axis().scale(x).orient("bottom");
  var yAxis = d3.svg.axis().scale(y).orient("left");

  var area = d3.svg.area()
      .x(function(d) { return x(d.x); })
      .y0(height)
      .y1(function(d) { return y(d.y); });

  var svg = d3.select("div#chart").append("svg")
      .attr("width", width + margin.left + margin.right)
      .attr("height", height + margin.top + margin.bottom)
    .append("g") …
Run Code Online (Sandbox Code Playgroud)

javascript charts d3.js

25
推荐指数
1
解决办法
4万
查看次数

如何遍历JavaScript对象的深层嵌套属性?

我有一个具有3级嵌套的JavaScript对象.我很难从第3级嵌套中获取值.

我已经对SO进行了一些研究并得到了基本的循环,但我似乎无法超越第一级.

这是我的代码

var customers = {
   "cluster": [{
      "id": "cluster1.1",
      "color": "blue",
      "flights": "784",
      "profit": "524125",
      "clv": "2364",
      "segment": [{
         "id": "segment1.1",
         "color": "green",
         "flights": "82",
         "profit": "22150",
         "clv": "1564",
         "node": [{
            "id": "node1.1",
            "color": "orange",
            "xpos": "1",
            "ypos": "1"
         }, {
            "id": "node1.2",
            "color": "orange",
            "xpos": "1",
            "ypos": "2"
         }, {
            "id": "node1.3",
            "color": "orange",
            "xpos": "1",
            "ypos": "3"
         }, {
            "id": "node1.4",
            "color": "orange",
            "xpos": "1",
            "ypos": "4"
         }]
      }, {
         "id": "segment1.2",
         "color": "red",
         "flights": "2", …
Run Code Online (Sandbox Code Playgroud)

javascript

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

使用Vue路由器对Params更改做出反应的最佳实践

使用Vue路由器时,/foo/:val您需要添加一个观察器以响应参数更改.这导致在URL中具有参数的所有视图中有些恼人的重复代码.

这可能类似于以下示例:

export default {
    // [...]
    created() {
        doSomething.call(this);
    },
    watch: {
        '$route' () {
            doSomething.call(this);
        }
    },
}

function doSomething() {
    // e.g. request API, assign view properties, ...
}
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以克服这个问题?可以将处理程序created$route更改结合起来吗?是否可以禁用组件的重用,以便根本不需要观察者?我正在使用Vue 2,但这对Vue 1来说也许很有趣.

vue.js vue-router vuejs2

15
推荐指数
1
解决办法
6108
查看次数