小编Kel*_*den的帖子

eslint 禁用扩展覆盖

如果您有一个覆盖要“降级”js 解析器,您如何关闭extends父解析器?parserOptions很容易覆盖,因为它是基于键的。extends因为空数组什么都不做,因为它试图将一个空列表附加到原始列表中。如果将其设置为null,则会出现配置解析器错误。

module.exports = {
  root: true,
  parserOptions: {
    ecmaVersion: 2018,
    sourceType: 'module'
  },
  extends: [
    'eslint:recommended'
  ],
  overrides: [
    {
      files: ['vendor/**/*.js'],
      parserOptions: {
        ecmaVersion: 5,
        sourceType: 'script'
      },
      extends: [] // I want 'eslint:recommended' removed.
    }
  ]
};
Run Code Online (Sandbox Code Playgroud)

解决方法包括循环遍历任何扩展规则集并将它们全部关闭。

module.exports = {
  root: true,
  parserOptions: {
    ecmaVersion: 2018,
    sourceType: 'module'
  },
  extends: [
    'eslint:recommended'
  ],
  overrides: [
    {
      files: ['vendor/**/*.js'],
      parserOptions: {
        ecmaVersion: 5,
        sourceType: 'script'
      },
      rules: Object.keys(require(path.resolve(path.dirname(require.resolve('eslint')), '../conf/eslint-recommended')).rules).reduce((rules, …
Run Code Online (Sandbox Code Playgroud)

javascript node.js eslint

9
推荐指数
1
解决办法
3536
查看次数

关闭Ember.js中的粘性查询参数

我找到了一个说明我问题的jsbin.http://emberjs.jsbin.com/ucanam/2708.

最后一个链接,在链接到没有设置显式查询参数的情况下,它使用控制器上的当前粘滞查询参数值.有没有办法关闭这个粘性功能?会这样做会打破其他情况吗?

我目前的解决方案是在我想要清除的每条路线上清空查询参数:

export default Ember.Route.extend({
  deactivate: function() {
    var controller = this.controllerFor(this.get('controllerName'));
    var queryParams = controller.get('queryParams');
    for (var i = 0; i < queryParams.length; i++)
      controller.set(queryParams[i], null);
  }
});
Run Code Online (Sandbox Code Playgroud)

这有效,但似乎应该有一个更简单的方法.

我应该注意,{{#link-to 'route' (query-params val=null)}}{{/link-to}}为每条路径做一些事情不是一个选择,因为我有一些可重用的代码,其中路由是一个变量,所以我不知道查询参数我必须为null.

编辑:

如果答案中的文档发生变化,这是正确的方法:

export default Ember.Route.extend({
  resetController: function(controller, isExiting) {
    if (isExiting) {
      var queryParams = controller.get('queryParams');
      for (var i = 0; i < queryParams.length; i++)
        controller.set(queryParams[i], null);
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

编辑2:

现在通过这个插件https://github.com/kellyselden/ember-query-params-reset很容易做到这一点.它还会重置为原始值,而不仅仅是将值清零.

javascript query-parameters ember.js

7
推荐指数
1
解决办法
5408
查看次数

ember.js - 从任何路由交换嵌套资源

我有带嵌套动态段的路由,例如/:locale/products/:product_id/items/:item_id等嵌套.我想在区域设置路由中的操作中替换区域设置.我/:locale更改语言环境时,我不想转换到基本路由.

区域路线行动:

actions: {
  localeChanged: function(locale) {
    var route = this.controllerFor('application').get('currentRouteName');
    this.transitionTo(route, locale);
  }
}
Run Code Online (Sandbox Code Playgroud)

这只适用于我没有深度嵌套的情况.我想避免localeChanged在每条路线中实施动作,以提供给定路线所需的确切模型.

更新1 - 脏解决方案:

actions: {
  localeChanged: function(locale) {
    var routes = this.router.router.currentHandlerInfos;
    var models = [];
    for (var i = 0; i < routes.length; i++) {
      var params = routes[i].params;
      for (var param in params) {
        if (params.hasOwnProperty(param)) {
          models.push(param === 'locale' ? locale : params[param]);
        }
      }
    }

    var args = models.slice();
    var currentRouteName = this.controllerFor('application').get('currentRouteName');
    args.unshift(currentRouteName); …
Run Code Online (Sandbox Code Playgroud)

javascript url-routing ember.js single-page-application

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

在嵌套泛型函数上键入推断

我已经搜索了一下类型推断,但我似乎无法将任何解决方案应用于我的特定问题.

我在构建和传递函数方面做了很多工作.在我看来,它应该能够推断出int类型.我唯一能想到的是lambda返回类型不是由类型推断算法检查的.我已经删除了不必要的逻辑以更清楚地显示问题.

Func<T> Test<T>(Func<Func<T>> func)
{
    return func();
}
Run Code Online (Sandbox Code Playgroud)

这编译:

Func<int> x = Test<int>(() =>
    {
        int i = 0;
        return () => i;
    });
Run Code Online (Sandbox Code Playgroud)

但这会给出错误"无法根据用法推断出方法的类型参数.请尝试明确指定类型参数":

Func<int> x = Test(() =>
    {
        int i = 0;
        return () => i;
    });
Run Code Online (Sandbox Code Playgroud)

我想我只想知道为什么它以这种方式工作和任何变通方法.

c# generics lambda type-inference func

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

设置批量大小时,SqlDataAdapter 给出参数名称无效错误

我正在尝试批量插入/更新 SqlDataAdapter。当我设置 UpdateBatchSize = 1 时,它可以工作,但将其设置为 2 会出现异常“指定的参数名称 'Id' 无效。”。

using (var sqlDataAdapter = new SqlDataAdapter
{
    UpdateBatchSize = 2
})
using (var connection = new SqlConnection("Data Source=server;Initial Catalog=DB;Integrated Security=True"))
using (var command = new SqlCommand("INSERT INTO Test (Id) VALUES (@Id)", connection)
{
    UpdatedRowSource = UpdateRowSource.None
})
{
    command.Parameters.Add("Id", SqlDbType.Int).SourceColumn = "Id";
    sqlDataAdapter.InsertCommand = command;

    var table = new DataTable("Test");
    table.Columns.Add("Id");
    table.Rows.Add(1);
    table.Rows.Add(2);
    sqlDataAdapter.Update(table);
}
Run Code Online (Sandbox Code Playgroud)

c# batch-processing sqldataadapter

5
推荐指数
1
解决办法
1037
查看次数

替代退休的 TogetherJS

有什么可以替代TogetherJS的好方法吗?它的GitHub已经几个月没有任何活动了,这篇文章说它目前已经死了,未来不确定。

可以说,ShareJS 是 TogetherJS 最独特的功能,它能够查看他人的光标以用于故障排除/远程协助。

javascript websocket collaborative-editing togetherjs

5
推荐指数
1
解决办法
5228
查看次数

对象解构:如何使用中间嵌套属性

var { iWantThis: { andThis, andThisToo } } = x;
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以在一次解构调用中访问所有这三个?我想避免像这样的两个电话:

var { iWantThis } = x;
var { andThis, andThisToo } = iWantThis;
Run Code Online (Sandbox Code Playgroud)

javascript destructuring ecmascript-6

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