小编hgc*_*rpd的帖子

AngularJS - 带指令的模块化表单

我最初在这里提出了这个问题,但我认为我已经领先于自己并使其变得比实际情况更复杂,所以我在这里重新提出一些更清晰的措辞.

如何使用指令和可重用参数创建可重用的窗体小部件?像这样:

<form>
<special-input label-text="A Special Input" bind-to="data.special"></special-input>
<special-input label-text="Specialer" bind-to="data.moreSpecial"></special-input>
</form>
Run Code Online (Sandbox Code Playgroud)

指令模板似乎不允许在ng-model上进行插值.

此外,您是否可以模块化和参数化表单行为,以便您可以进行标准的POST操作,例如?

我根据我的实验回答了下面的问题,但是我暂时不接受它,因为我对Angular很新,并希望听到其他人的意见.

forms angularjs angularjs-directive

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

AngularJS - 是否可以在链接或编译中更改指令上的ngModel属性的值?

我正在尝试创建一个指令,该指令将基于属性值将ngModel属性添加到标记.例如:

angular.module('myModule').
  directive('myDirective', function() {
    return {
      link: function(scope, elem, attrs) {
        var modelName = 'myPrefix.' + attrs.name;
        attrs.$set('ngModel', modelName);
      }
    };
  });
Run Code Online (Sandbox Code Playgroud)

这个html:

<input name="foo" my-directive></input>
Run Code Online (Sandbox Code Playgroud)

编译成

<input name="foo" ng-model="myPrefix.foo" my-directive></input>
Run Code Online (Sandbox Code Playgroud)

它接受输入的名称,附加前缀,并将ngModel属性设置为该值.

当我尝试在链接函数中执行此操作时,似乎input没有使用formController注册,因此form.foo返回undefined.

是否有可能完成我想要做的事情?

编辑:

看起来该ngModel属性是在HTML上设置的,但它没有在表单中注册,或者没有实例化ngModelController.如果我查看范围中的值,则ngModel在修改输入时它不会更改.

javascript angularjs angularjs-directive

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

R环境和函数调用堆栈

我试图get在一系列函数调用中使用,但对象名称的查找似乎跳过了环境.例如:

foo <- 1 # variable in .GlobalEnv

getter <- function(x) {get(x)}
getter("foo") # returns 1, which is expected

f1 <- function() {
  foo <- 2 # local variable in the function scope
  getter("foo")
}

f1() # still returns 1, would've expected to return 2
Run Code Online (Sandbox Code Playgroud)

为什么调用会f1返回foo全局环境而不是foo调用函数的环境?

我如何get查看调用函数的环境?设置pos = sys.parent()似乎不起作用.

scope r environment-variables

7
推荐指数
2
解决办法
1583
查看次数

AngularJS - 测试指令的链接函数,如何监视控制器

如果我有这样的指示

JS:

app.controller('MyController', function($scope) {
  this.someMethod = function() {
  };
});

app.directive('myDirective', function() {
  return {
    scope: true
    link: function(scope, elem, attrs, controller) {
      controller.someMethod();
    }
    controller: 'MyController',
  }
});
Run Code Online (Sandbox Code Playgroud)

我想创建一个Jasmine间谍以确保调用链接函数controller.someMethod,但这不起作用:

规格:

var elem = angular.element('<div my-directive></div>');
var scope = $rootScope.new();
$compile(elem)(scope);

var ctrl = elem.controller('myDirective');
spyOn(ctrl, 'someFunc').andCallThrough();
Run Code Online (Sandbox Code Playgroud)

间谍创建得太晚,因为控制器已实例化并且$compile语句中调用了链接函数.

还有哪些方法可以监视链接功能中发生的事情?是否可以预先实例化控制器并将其传递给$compile

unit-testing jasmine angularjs

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

IPython Notebook - 记录来自Scikit Parallel的消息

我有一个脚本使用scikit-learn的并行功能(由joblib库实现).通常我会以更高的详细程度运行它,以便我可以监控进度:

grid = GridSearchCV(estimator, params, cv=5, n_jobs=4, verbose=50)
Run Code Online (Sandbox Code Playgroud)

使用普通的Python控制台时,来自Parallel库的消息会在发生时打印到控制台,如下所示:

[Parallel(n_jobs=4)]: Done 4 jobs | elapsed: 32.8s [Parallel(n_jobs=4)]: Done 2 jobs | elapsed: 33.7s

但是,当我在IPython笔记本中运行脚本时,看起来这些消息在作业运行时被缓冲,并且只有在它完成后才输出或我终止内核.

有没有办法让它在笔记本上实时显示?

ipython scikit-learn ipython-notebook

5
推荐指数
0
解决办法
373
查看次数

Nginx + Supervisor + Gunicorn + Django + Celery - 安全问题

我正在运行一个带有nginx的web服务器,接着是gunicorn用Celery运行一个Django应用程序.所有的枪炮工艺和芹菜工人都由主管管理.我的问题是,在为堆栈中的每个进程设置权限方面,最佳做法是什么?

目前我基本上遵循默认值,我很确定这里有一些不安全的部分:

  1. Nginx主进程是root,工作进程以www-data运行
  2. 主管以root身份运行
  3. Gunicorn以root身份运行(我试图将其设置为另一种用途,但该过程无法启动)
  4. PostgresSQL和RabbitMQ作为自己的用户运行(postgres和rabbitmq)
  5. 我还没有设置Celery,但他们的文档说不能以root身份运行

哪些权限可以收紧,我需要哪些文件才能确保他们有权访问才能工作?

security nginx celery supervisord gunicorn

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

R - 加入data.table,根据行中另一列的值选择不同的列

我有两个data.tables:

DT1 <- data.table(A=c('A', 'B', 'C'), idx=c(1,2,3))
DT2 <- data.table(idx=c(1,2,3), A=rep('foo', 3), B=rep('bar', 3), C=rep('baz', 3))

> DT1
   A idx
1: A   1
2: B   2
3: C   3

> DT2
   idx   A   B   C
1:   1 foo bar baz
2:   2 foo bar baz
3:   3 foo bar baz
Run Code Online (Sandbox Code Playgroud)

我想谈谈这个问题:

> DT3
   idx value
1:   1   foo
2:   2   bar
3:   3   baz
Run Code Online (Sandbox Code Playgroud)

基本上我想合并DT1DT2打开idx,但我只希望列中的列DT2对应A于行中的值DT1.DT1和DT2具有相同的行数,并且行中的行数相同

有没有data.table本地方式来做到这一点?

r data.table

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