小编axe*_*uch的帖子

AngularJS中的IIFE

我在我的控制器中指定了一个函数,如下所示:

$scope.myFunction = function(){ console.log('test'); }
Run Code Online (Sandbox Code Playgroud)

我希望在更改选择框时触发此功能.因此,我对select元素应用ng-change,如下所示:

 <select ng-options="..." ng-model="..." ng-change="myFunction();"></select>
Run Code Online (Sandbox Code Playgroud)

但我也想在我的页面加载时触发myFunction函数.所以我想把我的功能变成IIFE:

($scope.myFunction = function(){ console.log('test'); }());
Run Code Online (Sandbox Code Playgroud)

但是,现在该功能仅在页面加载时触发,而不是由ng-change触发.我注意到当我更改括号时,该函数也会被ng-change触发:

($scope.myFunction = function(){ console.log('test'); })();
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么这甚至重要吗?

非常感谢!

javascript iife angularjs

8
推荐指数
2
解决办法
4782
查看次数

JavaScript获取父函数参数

我有一个功能:

define(['module', 'controller'], function(module, controller){
     (new module).build();
});
Run Code Online (Sandbox Code Playgroud)

在内部module.build我想自动获取父类的参数,如:

module = function(){
    this.build = function(args){
        // make args the arguments from caller ( define ) fn above
    };
};
Run Code Online (Sandbox Code Playgroud)

我知道我可以这样做:

module.build.apply(this, arguments);
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有更好的方法.有什么想法吗?

javascript

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

gdb - 带有额外数据的nop,为什么?

我目前正在编写简单的测试来理解gdb如何从C++编译为asm using extern "C"和option -O0以及我的asm对象是如何编译的nasm -g -f elf64

这是我拆卸的有关堆栈框架:

   0x0000000000400570 <+0>: push   rbp
   0x0000000000400571 <+1>: mov    rbp,rsp
   0x0000000000400574 <+4>: push   r10
=> 0x0000000000400576 <+6>: mov    r10,QWORD PTR [rbp-0x8]
   0x000000000040057a <+10>:    pop    r10
   0x000000000040057c <+12>:    mov    rsp,rbp
   0x000000000040057f <+15>:    pop    rbp
   0x0000000000400580 <+16>:    ret    
   0x0000000000400581 <+17>:    nop    WORD PTR cs:[rax+rax*1+0x0] ; this instruction
   0x000000000040058b <+27>:    nop    DWORD PTR [rax+rax*1+0x0]   ; and this one
Run Code Online (Sandbox Code Playgroud)

最后两个指令用填充nop,我可以因为对齐而得到这个.

现在我的问题是为什么nop一直在WORD PTR cs:[rax+rax*1+0x0]DWORD PTR [rax+rax*1+0x0]

64-bit assembly gdb

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

angularjs单位测试业力与茉莉花模拟困境

我正在使用karmawith 编写一些服务的测试jasmine,我想知道是否必须模拟使用的服务依赖项$http,如下所述.

PS:我已经$httpBackend用来模拟任何GET请求,$httpBackend.expect*如果我不嘲笑服务,我打算使用它ApiProvider


这是我正在测试的服务

.factory('CRUDService', ['ApiProvider', function (ApiProvider) {
    'use strict';

    var CRUD = function CRUD(modelName) {
        this.getModelName = function () {
            return modelName;
        };
    },
        overridableMethods = {
            save: null
        };

    CRUD.prototype = {
        save: function () {
            // ABSTRACT
        },
        /**
         * Deletes instance from id property
         * @return http promise
         */
        remove: function () {
            return ApiProvider.delete(this.getModelName(), this.id);
        }
    };

    return {
        /**
         * Function …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing mocking jasmine angularjs

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

如何将Xine One的Kinect 2与PC连接

我有一个带Kinect 2的Xbox One.我想知道我是否可以将它连接到我的电脑上,如果是的话,该怎么做?

kinect openkinect kinect-sdk xbox-one

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