小编Joh*_*han的帖子

将论据传递给IIFE

将参数传递给存储在变量中的IIFE的正确语法是什么?

以下示例告诉我foo未定义,无论我是否调用该函数:

var bar = (function(foo){

    return { 
        getFoo: function(){
            return foo;
        } 
    }

})(foo);

console.log(bar.getFoo(1));
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/eSTkL/

javascript

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

json.net; 序列化实体框架对象(循环引用错误)

我有一个实体框架实体,我想序列化为一个json对象.我环顾四周,发现json.net(http://james.newtonking.com/projects/json-net.aspx)应该能够使用"开箱即用"的循环引用来序列化对象.所以我尝试使用

string json = JsonConvert.SerializeObject(/* my ef entity */);
Run Code Online (Sandbox Code Playgroud)

但我仍然得到同样的错误.问题可能是我需要使用ReferenceLoopHandling.Ignore和a ContractResolver,但我不知道如何使用它们.任何帮助深表感谢!谢谢

c# asp.net entity-framework json.net

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

默认实体框架超时

EF查询的默认超时是多少?我试图通过检查找出context.CommandTimeout,但它返回null.

我也在连接字符串中查找了web配置中的类似内容Connect Timeout=,但默认情况下似乎没有.

c# orm entity-framework

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

使用JSON.NET将JSON反序列化为匿名对象

我正在使用JSON.NET对一个对象进行deserlaize,但我无法使用它来使用我正在使用的对象的当前结构.

http://dorobantu.me/post/2010/08/22/Deserializing-JSON-to-anonymous-types-in-C.aspx

我的对象目前看起来很喜欢这个(我想传递一个对象列表)

[
{
    "ID": "Concurrent User",
    "FieldType": 190,
    "value": ""
},
{
    "ID": "System Type",
    "FieldType": 191,
    "value": null
}
]
Run Code Online (Sandbox Code Playgroud)

我得到错误:

Cannot deserialize JSON array into type '<>f__AnonymousType1`3[System.String,System.String,System.String]'.
Run Code Online (Sandbox Code Playgroud)

我需要的是与示例#2类似的东西,一个包含列表的容器对象.任何帮助表示赞赏.谢谢

c#代码:

public void GetPoints()
    {
        string inputFields = HttpContext.Current.Request["inputFields"];

       // var test =  new { ID = string.Empty, FieldType = string.Empty, Description = string.Empty };

        var example = new { containerArray = new { ID = string.Empty, FieldType = string.Empty, Description = string.Empty } };

        var fields = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net json json.net

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

"0"vs"none"作为css属性值

0当我想要删除css中的某些内容时,我通常会将其作为值.例如:

border: 0;
background: 0;
Run Code Online (Sandbox Code Playgroud)

有什么区别0none

css

11
推荐指数
1
解决办法
4819
查看次数

何时以及为什么在indexedDB中调用onupgradeneeded方法?

我正在使用IndexedDB进行测试项目.这是一些示例代码:

var indexedDB = window.indexedDB || window.webkitIndexedDB 
                ||window.mozIndexedDB||window.msIndexedDB;

  var request = indexedDB.open("mydb",2),    

  customerData=[
    {ssn:"444-44-4444",name:"Bill",age:35,email:"bill@company.com"},      
    {ssn:"555-55-5555",name:"Donna",age:32,email:"donna@home.org"}
  ];

  request.onerror = function(event){

  };
  request.onupgradeneeded = function(event) {

     var objectStore = db.createObjectStore("customers",{keyPath:"ssn"});
     objectStore.createIndex("name","name",{unique:false});
     objectStore.createIndex("email","email",{unique:true});

     for(var i in customerData){
        objectStore.add(customerData[i]);
     }
  };
  request.onsuccess = function(e) {

  };
Run Code Online (Sandbox Code Playgroud)

我真的不明白的是当我的请求对象运行onupgradeneeded而不是onsuccess(假设当然没有错误).是不存在对象存储的时候?或者在创建新的db版本时?

谢谢

javascript html5 indexeddb

11
推荐指数
1
解决办法
7179
查看次数

IE7 + 8的AJAX readystatechange监听器

(function (send) {

     XMLHttpRequest.prototype.send = function () {

         this.addEventListener('readystatechange', function() {

             console.log('readyState changed');

         }, false);

         send.apply(this, arguments);
     };

})(XMLHttpRequest.prototype.send);
Run Code Online (Sandbox Code Playgroud)

这有效,但它似乎正在影响其他框架(如jQuery).当我使用上面的代码时,我的jQuery ajax调用没有完成(IE7 + IE8).

有没有办法给事件一个新的别名,这样就不会引起任何冲突(我只是假设这是问题)?

而我无法使用this.onreadystatechange,因为jQuery会覆盖它(参见小提琴).

一旦我绑定事件监听器,代码似乎无声地失败,因此我无法使用控制台进行调试.

小提琴

比较ie8和ie9模式,注意控制台在ie8中是空的

我需要这个的原因是我想要另一个框架(GWT)的全局ajax处理程序.我现在只使用jQuery进行测试.

编辑:看起来只有ie9支持addEventListener.但是,attachEventie7-8中的XHR对象似乎不存在.

javascript ajax jquery internet-explorer-8 internet-explorer-7

11
推荐指数
1
解决办法
771
查看次数

自定义在lambda中相交

我想知道使用lambda表达式是否可以解决这个问题:

List<Foo> listOne = service.GetListOne();
List<Foo> listTwo = service.GetListTwo();
List<Foo> result = new List<Foo>();

foreach(var one in listOne)
{
    foreach(var two in listTwo)
    {
        if((one.Id == two.Id) && one.someKey != two.someKey)
           result.Add(one);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net lambda set-intersection

11
推荐指数
2
解决办法
7690
查看次数

使用Vuex的全球事件总线 - 始终通知订户

我一直在Vue使用全球事件总线很长一段时间 - 就像const bus = new Vue().工作正常,但订阅的处理可能会变得非常冗长.

假设我订阅了一个组件中的事件:

mounted() {
  bus.$on('some.event', callback)
}
Run Code Online (Sandbox Code Playgroud)

我必须跟踪回调并妥善处理它beforeDestroy.使用全局mixin可以稍微简化一下,但是由于我正在使用<keep-alive>,我必须区分订阅mountedactivated回调.

所以我认为我会给Vuex一个管理这个的机会,因为观察者被框架处理掉了.我想出了下面的建议.

只要发布了对象或数组,似乎工作正常.原始数据似乎不会触发反应,尽管被包裹在外部对象中,即{ data: 123 }

我正在寻找有关通知订阅者的替代解决方案.到目前为止我所看到的只是内部notify方法,使用起来感觉不太安全.

eventstore.js

import Vue from 'vue'

const state = {
  events: {}
}

const actions = {
  publish({commit}, payload) {
    commit('publish_event', payload)
  }
}

const mutations = {
  publish_event(state, payload) {
    if(!state.events[payload.key]) {
      Vue.set(state.events, payload.key, { data: payload.data })
    } else {
      state.events[payload.key] = { data: payload.data } …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vuex

11
推荐指数
1
解决办法
1043
查看次数

带有 cy.request 的 Cypress 登录命令导致后续 cy.visit 失败

我试图在每次测试之前使用 Cypress 进行程序化登录。我的令牌保存在 localStorage 中。如果我同步改变它,即简单的做localStorage.setItem而不涉及cy.request它工作正常。但是,我想使用我的身份验证服务器(http://localhost:3004/login如下)来生成令牌。

令牌是从服务器正确获取的,但是一旦我使用下面的命令和cy.visit('/')我得到“无法访问 localhost:8080 - 我们试图向这个 URL 发出 http 请求,但请求失败而没有响应”(见完整日志如下)。

据我所知,这是使用身份验证服务器进行无头身份验证时的正确方法。我错过了什么?

命令.js

Cypress.Commands.add('login', () => {
  cy.request({
    method: 'POST',
    url: `http://localhost:3004/login`,
    body: {
      username: 'foo@bar.com',
      password: '123'
    }
  }).its('body').then((body) => {
    const vuexData = { user: { authenticationData: { token: body.token } } }
    window.localStorage.setItem('vuex', JSON.stringify(vuexData))
  })
})
Run Code Online (Sandbox Code Playgroud)

测试.js

describe('A test', () => {
  beforeEach(() => {
    cy.login()
  })

  it('works', () => {
    cy.visit('/')
    cy.get('h1').contains('All Books')
  })
})
Run Code Online (Sandbox Code Playgroud)

CypressError: …

javascript cypress

11
推荐指数
1
解决办法
4581
查看次数