小编sna*_*ggs的帖子

如何将参数传递给控制器​​中定义的方法,但是从Angularjs中的指令调用?

我尝试将一个参数从指令传递给控制器​​中定义的方法.

我使用隔离范围.

这是相关的代码和小提琴演示:

HTML

 <div ng-controller="MapCtrl">
        <map id="map_canvas" call='callMe()'></map>
    </div>
Run Code Online (Sandbox Code Playgroud)

JS

var module = angular.module('googleMap', []);

module.directive('map', function() {
    return {
        restrict: 'E',
        replace: true,
        scope:{
            callMe : '&call'
        },
        template: '<div></div>',
        link: function(scope, element, attrs) {
            console.log(element);

           /* ... */                
           scope.callMe('hey');

           /* ... */                                
        }
    };
});

function MapCtrl($scope) {

    $scope.callMe = function(val){
    alert(val);
    };

}
Run Code Online (Sandbox Code Playgroud)

为什么我得到val=undefined?它应该是hey

谢谢,

angularjs angularjs-directive

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

如何在表格标题中双击禁用蓝色选择?

我遵循了表头结构:

<th>
 <a ng-click="sort_by(order)" style="color: #555555;">
   <span ng-transclude="">
       <span class="ng-scope">Some text</span>
   </span>
   <i class="icon-chevron-down"></i>
 </a>
</th>
Run Code Online (Sandbox Code Playgroud)

问题是,当我双击标题链接时,背景被选中(蓝色)并且看起来很乱。

如何避免这种行为?

谢谢,

在此处输入图片说明

html css

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

Postgres 自定义函数与 CASE

我有表watchers

------------------------------------------
time_type | time_count | timestamp_created
------------------------------------------
  'hour'  |   1        |   2016-12-08 15:56:26.169614
  'hour'  |   13       |   ... 
  'day'   |   5        |   ...
Run Code Online (Sandbox Code Playgroud)

我尝试根据time_typetime_count值获取整数:

CREATE OR REPLACE FUNCTION af_calculate_range(tt text,tc  integer) RETURNS integer AS $$ 
            SELECT tt, CASE tt WHEN 'day' THEN tc * 60 * 60 
                               WHEN 'hour' THEN tc * 60
                       END
        FROM watchers;

          $$
    LANGUAGE SQL;

SELECT af_calculate_range(time_type, time_count) FROM watchers
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

ERROR:  return type mismatch in function declared to …
Run Code Online (Sandbox Code Playgroud)

sql postgresql case plpgsql

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

xcode 8.3无法启动应用程序进程启动失败:未指定

我在iOS 10.3上安装了新的Xcode 8.3.

我的应用程序按预期在iOS上运行,突然Xcode无法在设备上运行应用程序并出现错误:

无法启动"我的应用"流程启动失败:未指定

截图

它运行在模拟器和其他设备迷你垫(10.2)上

xcode8 ios10.3

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

如何在Swift中使用正则表达式创建String拆分扩展?

我写了创建split方法的扩展:

extension String {
    func split(splitter: String) -> Array<String> {
        return self.componentsSeparatedByString(splitter)
    }
}
Run Code Online (Sandbox Code Playgroud)

所以在操场上我可以写:

var str = "Hello, playground"

if str.split(",").count > 1{
    var out = str.split(",")[0]

    println("output: \(out)") // output: Hello
}
Run Code Online (Sandbox Code Playgroud)

如何在Java中使用正则表达式,我需要做什么:

str.split("[ ]+")
Run Code Online (Sandbox Code Playgroud)

因为这种方式不起作用.

谢谢,

swift

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

iOS:dispatch_get_global_queue QOS_CLASS_BACKGROUND在7.1.2崩溃

我有以下代码片段,通过使用块获取联系人:

if (&ABAddressBookCreateWithOptions != NULL) {
            CFErrorRef error = nil;

            addressBook = ABAddressBookCreateWithOptions(NULL, &error);

            ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error) {

                dispatch_sync(dispatch_get_main_queue(), ^{
                        if (error) {
                            //...
                        } else if (!granted) {
                            //...
                        } else {
                            // access granted
                          //...
                        }
                    });
                });
Run Code Online (Sandbox Code Playgroud)

它适用于两者7.1.28.1.3版本.

然而,当我试图改变dispatch_get_main_queuedispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0)它的工作原理上8.1.3崩溃7.1.2

if (&ABAddressBookCreateWithOptions != NULL) {
                CFErrorRef error = nil;

                addressBook = ABAddressBookCreateWithOptions(NULL, &error);

                ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error) {
                        dispatch_sync(dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0), ^{ …
Run Code Online (Sandbox Code Playgroud)

objective-c contacts ios

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

Jenkins使用默认的ruby但不使用RVM

我有Jenkins自动化服务器,通过ssh用户连接到我的机器snaggs.

我的机器有2个版本ruby:

  • 默认版本来自OS /System/Library/Frameworks/ ..... /usr/bin/ruby
  • rubyRVM一起安装的v2.3.3

    在机器上,自动化使用一些命令运行一些Perl脚本.whoami来自詹金斯给出snaggs

当Perl脚本运行命令时gem env,输出为:

$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 2.0.14.1
  - RUBY VERSION: 2.0.0 (2015-12-16 patchlevel 648) [universal.x86_64-darwin16]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-16
  - GEM PATHS:
     - /Library/Ruby/Gems/2.0.0
     - /Users/snaggs/.gem/ruby/2.0.0
     - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true …
Run Code Online (Sandbox Code Playgroud)

environment path rvm jenkins

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

无法在“要求”加载的@INC Perl perl文件中找到

我有一个简单的Perl脚本,该脚本使用位于另一个文件中的辅助函数common.pl

main.pl

#!/usr/bin/perl

use strict;
use warnings;

use Cwd 'abs_path';

use File::Basename qw( fileparse );
use File::Path qw( make_path );
use File::Spec;


require "common.pl";  # line 15

#...
Run Code Online (Sandbox Code Playgroud)

common.pl

#!/usr/bin/perl

use strict;
use warnings;

sub getTimeLoggerHelper{
  #....
}

1;
Run Code Online (Sandbox Code Playgroud)

在本地,一切运行良好,但是当我尝试通过ssh运行它时,出现错误:

Can't locate common.pl in @INC  (@INC contains: 
/Library/Perl/5.18/darwin-thread-multi-2level  /Library/Perl/5.18 
/Network/Library/Perl/5.18/darwin-thread-multi-2level
/Network/Library/Perl/5.18
/Library/Perl/Updates/5.18.2/darwin-thread-multi-2level
/Library/Perl/Updates/5.18.2
/System/Library/Perl/5.18/darwin-thread-multi-2level
/System/Library/Perl/5.18 
/System/Library/Perl/Extras/5.18/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.18 .) at /Users/snaggs/scripts/main.pl line 15.
Run Code Online (Sandbox Code Playgroud)

[编辑1]

如果我登录到远程计算机并运行相同的脚本,则没有错误。

[编辑2]

我也尝试转换common.pl为模块:

common.pm

package Common;

use strict;
use warnings;

sub getTimeLoggerHelper{
  #.... …
Run Code Online (Sandbox Code Playgroud)

ssh perl

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

NSlog 不打印新行 \r\n

我尝试将新行添加到NSlog.

我跑:

NSLog(@"\n%@\r\n\r\n", json1);
NSLog(@"\n%@\r\n\r\n", json2);
Run Code Online (Sandbox Code Playgroud)

但是输出是:

2017-03-29 16:09:50 InAppTestAfApp2[312:33527]  
{"attribution":"true"}
2017-03-29 16:09:50 InAppTestAfApp2[312:33527]  
{"attribution":"false"}
Run Code Online (Sandbox Code Playgroud)

它忽略新行作为\r\n(也\n仅尝试过)但\n在字符串工作之前的第一个

我预计:

2017-03-29 16:09:50 InAppTestAfApp2[312:33527]  
{"attribution":"true"}


2017-03-29 16:09:50 InAppTestAfApp2[312:33527]  
{"attribution":"false"}


017-03-29 16:09:50 InAppTestAfApp2[312:33527] other logs ...
Run Code Online (Sandbox Code Playgroud)

我使用 Xcode 8.3

[编辑 1]

我试着跑:

NSLog(@"%@ %@",type, @"xxxxx\n\n");
Run Code Online (Sandbox Code Playgroud)

我仍然看到:

2017-03-29 16:09:50 InAppTestAfApp2[312:33527]  
xxxxx
017-03-29 16:09:50 InAppTestAfApp2[312:33527] other logs ...
Run Code Online (Sandbox Code Playgroud)

[编辑 2]

作为解决方法,我在最后添加了垃圾,但看起来很乱:

NSLog(@"%@ %@\r\n\r\n%s",type, json, @"`");
Run Code Online (Sandbox Code Playgroud)

objective-c ios

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

iOS后台调优后单例实例的生命周期

我有EventManagerReg例类(Obj-C):

事件管理器

class EventManager : NSObject {

   override init() {
     super.init()        

    Reg.shared().id = myId        
    Reg.shared().delegate = self
  }
}
Run Code Online (Sandbox Code Playgroud)

注册(单例)

@implementation Reg   

//...

+(Reg*) shared{
    static dispatch_once_t once;
    static Reg *manager;
    dispatch_once(&once, ^ { manager = [[Reg alloc] init]; });
    return manager;
}

//...
@end
Run Code Online (Sandbox Code Playgroud)

这是我在控制器中的调用:

class ViewController: UIViewController {

    let manager = EventManager()

    override func viewDidLoad() {
        super.viewDidLoad()        
        let a = SomeHandler.instance
    }

DispatchQueue.global(qos: .default).async {               

            SomeHandler.instance.registerBlocks({ obj in                
                let m = EventManager()                

            }, failureBlock: …
Run Code Online (Sandbox Code Playgroud)

objective-c ios swift

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