小编Sha*_*ane的帖子

在TortoiseGit中更改repo url

我们刚刚将我们的git repos更新到了一个新的位置,我正在使用TortoiseGit进行一些未经修改的更改.可以在任何地方更改文件夹参考吗?我没有在上下文菜单中看到该选项.如果可以避免的话,我宁愿不重新创建和合并,因为总共有大约14个回购.我不是很精通git,所以如果这个问题也存在缺陷,请告诉我.

tortoisegit

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

在php中创建嵌套的JSON对象?

我没有使用php,我对对象创建有点模糊.我需要发送一个发送json的web服务请求,我想我已经覆盖了那部分内容.在我提交数据之前,我需要创建一个嵌套对象.基于我对基于ecma的脚本语言的经验,我认为这将是微不足道的,但我发现语法难以导航.我想要创建的对象如下.

{ "client": {
    "build": "1.0",
    "name": "xxxxxx",
    "version": "1.0"
    },
    "protocolVersion": 4,
    "data": {
        "distributorId": "xxxx",
        "distributorPin": "xxxx",
        "locale": "en-US"
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经看过很多平面对象的例子,但我还没有找到嵌套对象的最小例子.上面对象的php语法是什么?这在php中是不常见的吗?

php json

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

所有浏览器的Object.defineProperty?

询问Object.defineProperty,如下所示:

function testComponent(){
    var testProperty;
    Object.defineProperty(this, "testProperty",
    {
        get : function()
        {
           return testProperty;
        },
        set : function(val)
        {
          testProperty = val;
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

它会像这样使用的地方:

testObject = new testComponent();
testObject.testProperty = "testValue";
Run Code Online (Sandbox Code Playgroud)

基于我到目前为止看到的,看起来没有跨浏览器解决方案,因为我尝试使用es5-shim没有运气,但我想证实.我也发现了对这篇文章的引用,我的测试在IE 7和8中仍然失败,任何人都可以对此有所了解吗?

我记得几个月前在S/O的某个地方查看了一个相关的问题,我想我看到有人在答案中为此写了一个解决方案.任何关于getter/setter的一般解决方法也将受到赞赏.我的想法是,我需要在对象上使用一些等效的getter setter而不通过方法传递参数更改.我不需要IE6,但我想支持IE7 + ff 3.6+等范围内的浏览器


下面的QUnit测试:(jsFiddles)

(这些在我的机器上的所有浏览器中传递,除了IE 7和8

直接使用defineProperty,没有垫片:http:
//jsfiddle.net/uSYFE/

使用ES5垫片小提琴,我假设我需要做的就是包括它? :http:
//jsfiddle.net/hyperthalamus/ntwDy/

使用IE推荐的解决方案小提琴:http:
//jsfiddle.net/hyperthalamus/xfvz3/

javascript getter-setter defineproperty

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

Javascript使用Firebug观察基于表达式的断点?

现在正在完成一些事件路由,并且有很多调试步骤.

我知道在javascript中使用"调试器"并将其放在条件之后,这很有用.我也知道右键单击一个断点来添加一个更好的测试表达式.但是......我不知道这件事会带给我什么,我开始磨损我的功能键.有没有办法在监视表达式中添加断点?

基本上这个想法是这样的,在封装范围内,我想检查一个名为"this.id"的变量.如果this.id是我想要的值,我进入调试器.

有任何想法吗?

谢谢

想要补充说下面的迪迪埃的答案解决了我们在装饰"功能"的文章中概述的问题.这很可能是搜索我想要的所有函数的阻力最小的路径.

Function.prototype.debug = function(){   
   var fn = this; 
   return function(){     
       if (debugme) debugger; 
       return fn.apply(this, arguments);     
   }; 
};
Run Code Online (Sandbox Code Playgroud)

javascript debugging firebug

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

在Gruntfile.js中使用grunt-browserify

我在找到如何使用grunt-browserify的解释时遇到了一些麻烦.查看他们的examples文件夹,我在他们的基本示例下查看browserify节点,我看到以下内容:

module.exports = function (grunt) {
  grunt.initConfig({
    browserify: {
      vendor: {
        src: [],
        dest: 'public/vendor.js',
        options: {
          require: ['jquery'],
          alias: [
            './lib/moments.js:momentWrapper', //can alias file names
            'events:evt' //can alias modules
          ]
        }
      },
      client: {
        src: ['client/**/*.js'],
        dest: 'public/app.js',
        options: {
          external: ['jquery', 'momentWrapper'],
        }
      }
    },
    concat: {
      'public/main.js': ['public/vendor.js', 'public/app.js']
    }
  });
  grunt.loadTasks('../../tasks');
  grunt.loadNpmTasks('grunt-contrib-concat');
  grunt.registerTask('default', ['browserify', 'concat']);
};
Run Code Online (Sandbox Code Playgroud)

什么是"供应商"和"客户",他们在哪里记录?在README文件中,他们提到"preBundleCB","dist",我看过很多其他人,大多数都有自己的数据结构.是否在任何地方列举和解释了这些选项?

javascript node.js browserify gruntjs

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

使用jQuery .each和$(this)删除XML节点

我正在使用jQuery的.each()循环一些元素,并且我想在满足特定要求时删除节点.我不确定这个的语法,我尝试了几件事:

$(this).remove();
$xml.remove(this);
$xml.removeNode(this);
Run Code Online (Sandbox Code Playgroud)

...等等.找到一个有效的例子有些困难,有人能指出我正确的方向吗?我假设它很简单,我只是找不到正确的语法.下面有一个不工作的小提琴.

http://jsfiddle.net/SHNpn/

谢谢

xml jquery

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

可以在文档外的元素上使用jQuery吗?

使用一些遗留架构并且由于初始化序列的性质,我需要在将元素添加到文档之前将其包装起来.说我有以下内容:

<div id="containerX">
   <div id="myNode"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我需要在添加到DOM之前包装"myNode".jQuery选择器甚至可以在这种情况下工作吗?如果是这样,我怎么能做到这一点?我试过像这样传递元素:

(更正了下面某些答案中提到的一些拼写错误):

$(this.element).wrap('<div id="'+ "myWrapper_" + this.id + '"></div>');
Run Code Online (Sandbox Code Playgroud)

没有运气.我假设选择器的通常语法不起作用,因为节点在文档之外.我发现的最接近的是这篇文章: 在将DOM元素添加到文档之前操作DOM元素但是我的情况和他之间的区别是我没有字符串,我有使用document.createElement创建的元素没有附加.

任何人都可以指出我正确的方向或甚至可能吗?

谢谢

javascript jquery dom

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

使用 Chrome 开发工具在 JavaScript 中查找无限(或非常大)循环

我正在使用第三方统计库,它似乎有很多问题。它既大又压缩,因此调试起来并不是特别容易。我正在使用 Chrome 开发工具,我想知道有哪些选项可以根据函数名称的调用次数对函数进行排名?我认为答案是 Profiler 选项卡,但我捕获的配置文件仅记录了在长链中引用“第 1 行”的 JS 文件。

这件事正在冻结我的应用程序,我宁愿尽可能避免对其代码进行更改,即使是为了调试。我很乐意澄清任何不清楚的地方。

编辑:我似乎记得最近 chrome 开发工具的演示在某处显示了一个时间线,该时间线描绘了基于时间增量垂直堆叠的功能块,称为“火焰图”或类似的东西......那将是理想的,但我可以'现在我一辈子都不记得这个链接了。如果有人知道这个工具是什么,那么根本不反对在这个工具上使用 Canary 吗?

javascript debugging google-chrome-devtools

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

Gruntfile.js任务无法读取包值?

在Gruntfile.js的initConfig函数中,我具有以下内容:

  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' +
      '<%= grunt.template.today("yyyy-mm-dd") %>\n' +
      '* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;',
    concat: {
      options: {
        banner: '<%= banner %>',
        stripBanners: true
      },
      dist: {
        src: ['src/<%= pkg.name %>.js'],
        dest: 'dist/<%= pkg.name %>.js'
      }
    },
Run Code Online (Sandbox Code Playgroud)

我正在创建pkg变量,然后尝试从concat.dist下的对象中提取名称,因为它来自新的grunt-init模板。运行concat:dist时,我无法读取未定义的属性“名称”。我已经验证了文件和package.json“文件中节点” name“的存在。

鉴于我是Node的新手,所以我不确定在调用grunt任务时这些闭包是否会持续存在,如果确实存在,我使用的约定是否错误?这有可能吗?

javascript node.js gruntjs grunt-init

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

React.PropType有两种可能的形状

背景:我正在尝试为尺寸规范指定道具类型,我可以指定显式值,或者要评估的最小值和最大值.这将由图像组件使用,该组件将评估图像是否是用户生成的输入的可接受高度和宽度.

抽象的目标是让React props值解析为两种可能的形状之一.


每种形状都可以自己工作

宽度的显式值将具有以下形状:

{
    width: PropTypes.shape({
        value: PropTypes.number.isRequired,
        error: PropTypes.string
    })
}
Run Code Online (Sandbox Code Playgroud)

一个最小和最大价值将有这样的形状:

{
    width: PropTypes.shape({
        min: {
            value: PropTypes.number.isRequired,
            error: PropTypes.string
        }, max: {
            value: PropTypes.number.isRequired,
            error: PropTypes.string
        }
    })
}
Run Code Online (Sandbox Code Playgroud)

编辑:正如在接受的答案中所指出的,这个块中有一个我没有抓到的错误.由于某种原因,它没有给我一个运行时错误,但这不是嵌套形状的工作示例,请参阅正确语法的答案.

如果我尝试这些方法中的任何一个并且属性匹配,一切都按预期工作,所以我可以安全地假设错误来自下面的代码.


什么行不通

我尝试使用OptionalUnion,如React类型检查文档中所示,通过PropTypes.oneOfType,语法如下.

{
    width: PropTypes.oneOfType([
        PropTypes.shape({
            value: PropTypes.number.isRequired,
            error: PropTypes.string
        }), PropTypes.shape({
            min: {
                value: PropTypes.number.isRequired,
                error: PropTypes.string
            }, max: {
                value: PropTypes.number.isRequired,
                error: PropTypes.string
            }
        })
    ])
}
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时,我得到了回应

Warning: …

reactjs react-proptypes

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