小编Ren*_*aud的帖子

jquery extend vs angular extend

这两个扩展函数有什么区别?

  angular.extend(a,b);
  $.extend(a,b);
Run Code Online (Sandbox Code Playgroud)

虽然jquery.extend有很好的文档记录,但angular.extend缺少细节,而那里的注释没有提供任何答案.(https://docs.angularjs.org/api/ng/function/angular.extend).

angular.extend还提供深层复制吗?

javascript jquery extend angularjs

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

angularJS $ on事件处理程序触发顺序

在angularJS事件处理的上下文中,我想知道两件事.

  1. 如何定义触发同一事件的处理程序的触发顺序?
  2. 如果你开始想知道这是否是一个糟糕的设计的迹象?

在阅读了有关angular $ on,$ broadcast和$ emit以及本机DOM事件流的文档后,我想我理解事件处理程序将在不同的范围内触发.问题是当多个处理程序从不同的位置(例如,控制器与服务)监听相同的范围(例如$ rootScope)时.

为了说明这个问题,我将一个jsfiddle与一个控制器和两个服务放在一起,所有这些都通过$ rootScope http://jsfiddle.net/Z84tX/进行通信

Thanks

broadcast event-handling angularjs

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

民意调查与长期民意调查

我进入了这些示例,显示了javascript中的轮询与长轮询,但我不明白它们之间的区别.特别是关于长轮询的例子,它如何保持连接打开?

这就是传统轮询方案的样子:

(function poll(){
  setTimeout(function(){
    $.ajax({ url: "server", success: function(data){
      //Update your dashboard gauge
      salesGauge.setValue(data.value);

      //Setup the next poll recursively
      poll();
    }, dataType: "json"});
  }, 30000);
})();
Run Code Online (Sandbox Code Playgroud)

这是长轮询的例子:

(function poll(){
  $.ajax({ url: "server", success: function(data){
    //Update your dashboard gauge
    salesGauge.setValue(data.value);

  }, dataType: "json", complete: poll, timeout: 30000 });
})();
Run Code Online (Sandbox Code Playgroud)

谢谢!

javascript polling long-polling

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

chromewebdriver上的清除日期输入失败

我在使用selenium从firefoxdriver切换到chromedriver时遇到了问题,它在FF中正常工作但现在当我尝试清除日期输入字段时出现此错误:

Caused by: org.openqa.selenium.InvalidElementStateException: Element must be user-editable
in order to clear it. (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 38 milliseconds
Build info: version: '2.31.0', revision: '1bd294d185a80fa4206dfeab80ba773c04ac33c0',
time: '2013-02-27 13:51:26'
System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.8.2', java.version: 
'1.6.0_41'
Session ID: cb5a1b7e5f4abc4f2e56e2fe284a9dc3
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{platform=MAC, chrome.chromedriverVersion=26.0.1383.0, acceptSslCerts=false,
javascriptEnabled=true, browserName=chrome, rotatable=false, locationContextEnabled=false,
version=25.0.1364.160, cssSelectorsEnabled=true, databaseEnabled=false, 
handlesAlerts=true, browserConnectionEnabled=false, nativeEvents=true,
webStorageEnabled=true, applicationCacheEnabled=false, takesScreenshot=true}]
blah blah...
Run Code Online (Sandbox Code Playgroud)

我尝试将contenteditable属性添加到我的输入字段,但没有运气:

  <input type="date" contenteditable="true" required="required" placeholder="YYYY-MM-dd" …
Run Code Online (Sandbox Code Playgroud)

time date input selenium-chromedriver

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

angular $ http/jquery完全等价

有没有办法用angular $ http模块模拟jquery'完整'回调?无论请求是成功还是失败,我都会想要执行一些代码,此时我发现自己必须写这个:

$http.get(someUrl).success(function(){
        successCode();
        completeCode();
    }).error(function(){
        errorCode();
        completeCode();
    })
Run Code Online (Sandbox Code Playgroud)

但我宁愿写下这样的东西:

$http.get(someUrl).success(function(){
        successCode();
    }).error(function(){
        errorCode();
    }).complete(function(){
        completeCode();
    })
Run Code Online (Sandbox Code Playgroud)

我也试过使用promise API,但我最终遇到了同样的问题.有什么建议吗?

http callback promise angularjs angular-promise

13
推荐指数
1
解决办法
6840
查看次数

d3.js我应该在退出/删除时分离事件监听器吗?

我有一些代码,它们将鼠标悬停事件处理程序添加到svg圆圈以显示工具提示.我删除圆圈元素时应该删除/取消绑定这些处理程序吗?我不知道这些处理程序是否附加到svg对象,我担心它可能导致阴影dom或内存泄漏.见下面的代码:

circles.enter().append("svg:circle")
   .on("mouseenter", function(d) {
      // show tooltip
   });
circles.exit()
   .on("mouseenter", null) // necessary?
   .remove();
Run Code Online (Sandbox Code Playgroud)

performance events memory-leaks d3.js

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

Selenium CSS选择器由id和多个类组成

在这里第一次使用硒,我想知道为什么:

final WebElement justAnId = findElement(By.cssSelector("#someId"));
final WebElement whatIWant = justAnId.findElement(
    By.cssSelector(".aClass.andAnother input[type=text]")
);
Run Code Online (Sandbox Code Playgroud)

有效,但不是:

final WebElement whatIWant = findElement(By.cssSelector(
    "div#someId.aClass.andAnother input[type=text]"
));
Run Code Online (Sandbox Code Playgroud)

虽然他们似乎与我相当,但我得到:

org.openqa.selenium.NoSuchElementException: Unable to locate element:
{"method":"css selector","selector":"div#someId.aClass.andAnother input[type=text]"}
Run Code Online (Sandbox Code Playgroud)

这是预期的行为还是Selenium中的错误?我快速浏览了Selenium中的bug跟踪器,但我没有看到任何相关内容.在提出一个不需要的问题之前,我想问一下这里.另据我所知,它在IE6中不起作用但是谁在乎.我正在使用firefox进行此次运行.

css-selectors selenium-webdriver

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

如何删除socket.io中的房间

我想静静地从房间中删除所有用户,有效地删除该房间.这个想法是将来可能再次创建另一个具有相同名称的房间,但我希望它创建为空(没有前一个房间的监听器).

我对自己管理房间状态不感兴趣,但很好奇,好像我可以利用socket.io内部来做这件事.这可能吗?(另见这个问题)

node.js socket.io

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

MV*在聚合物,模型和服务中作为聚合物元素?

假设我想要两个视图(聚合物元素)来共享模型.

在Angular中,模型将存在于单个服务中,该服务被注入到视图中,两个视图都从同一个源读取.

我尝试用Polymer模拟这种方法,所以我可以这样做:

<polymer-element name="view1">
  <template>
    <my-model></my-model>
    ...
  </template>
  ...
</polymer-element>

<polymer-element name="view2">
  <template>
    <my-model></my-model>
    ...
  </template>
  ...
</polymer-element>
Run Code Online (Sandbox Code Playgroud)

我喜欢这种方法,因为它是一种定义依赖关系的声明方式,它基本上<core-ajax> 和其他"开箱即用"的Polymer元素一样.

通过这种方式,我需要等待domReady生命周期回调,然后才能与模板中声明的任何元素进行交互,所以这就是我在那里拿着初始化逻辑的地方.问题是,对于<my-model>声明的每个元素,这个回调被调用一次(因此<my-model>在本例中将被初始化两次,因为它存在于<view1>和中<view2>).为了确保我的模型遵循单例模式,我必须将状态移到元素实例之外,如下所示:

 <polymer-element name="my-model">
   <script>
    (function(){
      // private shared state
      var instances = [], registered; // pattern variables
      var foo; // state, model, whatever

      // element init logic
      Polymer('my-model', {
        // Polymer callbacks
        domReady: function(){
          if (registered === (registered=true)) return;
          // singleton init logic
          foo = 'something';
          // event …
Run Code Online (Sandbox Code Playgroud)

javascript singleton design-patterns angularjs polymer

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

用于GitHub设置的Powershell

我刚刚为Windows安装了GitHub,为方便起见,我在Windows资源管理器的上下文菜单中添加了powershell的条目.注册表命令是:

C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -NoExit 
C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%L'
Run Code Online (Sandbox Code Playgroud)

正如在shell.ps1中所建议的,我在我的profilehell环境中添加了".(Resolve-Path"$ env:LOCALAPPDATA\GitHub\shell.ps1")"到我的profile.ps1以获取poshgit和其余的设置.虽然它并没有完全发挥作用.我可以看到shell.ps1被执行了(当运行"$ env:github_posh_git"时,我看到正确的值出现)但是当我导航到git repo时,我没有看到增强的提示.

我错过了什么?

PS:Powershell的唯一版本我带了GitHub for windows,即使文件夹说"1.0"正在运行

 $psversiontable.psversion
Run Code Online (Sandbox Code Playgroud)

Major  Minor  Build  Revision
-----  -----  -----  --------
2      0      -1     -1
Run Code Online (Sandbox Code Playgroud)

powershell github-for-windows

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