小编dgi*_*gig的帖子

AngularJS:从ng-repeat中删除$ watch

我已经构建了一个报告,它使用一组嵌套的ng-repeat指令来创建一个巨大的表.它可以很好地构建表格,但在此之后,滚动性能受到很大影响 - 我认为这是由ng-repeats创建的大量手表所必需的.

报告只需要构建一次,然后是静态的.我不需要不断观察数据.

我有两个问题:

A)无论如何看到Angular目前正在观看的所有变量的列表?

编辑:这篇文章是学习如何基准测试的一个很好的帮助

B)无论如何要告诉Angular停止它正在做的所有手表吗?我看过很多关于取消手表的帖子,其中一个是自己设置的,但这些都是原生指令,我不知道我是如何利用它们的.

我的偏好是有一个变量,我可以说"如果真的,然后做所有的手表,如果没有,那么不要看"或只是说"开始观看"和"停止观看"的功能.

我已经建立了一个非常好的DOM观看服务,它可以告诉所有ng-repeats何时执行,所以我可以知道我何时想停止观看.

这是表本身.除了tk-ng-repeat-completed之外,其他"tk-"属性仅用于数据,而不是实际的指令.

<div class="table-responsive">

    <table tk-sticky-column id="records" class="table table-striped table-hover table-condensed">

        <!-- tbody[n] -->
        <tbody class="dataset" ng-repeat="dataset in report.data track by $index" tk-ng-repeat-completed>
            <!-- row[0] -->
            <tr class="headline">
                <!-- header[0] label -->
                <th class="headline" style="background-color:#042E34;">
                    <div style="width:200px;"><h4>{{report.labels.y[$index]}}</h4></div>
                </th>
                <!-- header[n] label -->
                <th ng-repeat="x_label in report.labels.x" tk-ng-repeat-completed
                    class="datapoint date"
                    tk-raw-data="{{x_label}}">
                    <em><small>{{x_label}}</small></em></th>
                <!-- header[last] space for addition @todo remove this, add during calculations -->
                <th class="date"></th>  
            </tr>
            <!-- row[n] --> …
Run Code Online (Sandbox Code Playgroud)

javascript watch angularjs

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

文件名末尾的等号

我有一些mysql的麻烦,我去找我的mysql套接字文件,但是当ls -lA在目录上做时它附加了一个等号.我使用的是Mac OS X 10.6.8.

srwxrwxrwx  1 _mysql  wheel    0 Jul 23 10:08 mysql.sock=
Run Code Online (Sandbox Code Playgroud)

如果我cat用等号签名就不行,所以它不是名字的一部分......

cat: mysql.sock=: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?我可以在线找到很多关于*@附加的信息,但不是=

我想我应该注意到,当我在没有等号的情况下捕捉它时,它确实有效.

有助于我理解起始s意味着什么(它意味着'插座').

ls file

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

MySQL使用IF语句CONCAT多个字段

我正在尝试做一些我认为很简单的事情,但是我被困住了.我基本上想要从多个地址部分字段创建单个地址字段,使用IF语句来使用地址或交集.以下是我在该领域的发言:

        CONCAT(loc_name,'\n',
            IF ( add_number != '' && add_street != '' ) THEN 
                CONCAT(add_number,' ',add_street,'\n')
            ELSEIF ( x_street_1 != '' && x_street_2 != '' ) THEN 
                CONCAT(x_street_1,' &amp; ',x_street_2,'\n')
            END IF
        ,city,', ', 
            IF ( state != '') THEN 
                CONCAT(state,' ',country,'\n')
            ELSEIF ( x_street_1 != '' && x_street_2 != '' ) THEN 
                CONCAT(country,'\n')
            END IF
        ) AS loc_info
Run Code Online (Sandbox Code Playgroud)

但它不喜欢我正在做的事情,它在以下方面引发错误:

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right …
Run Code Online (Sandbox Code Playgroud)

mysql if-statement concat

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

为什么带有!= 0的SQL查询不包含NULL值?

这是两个测试表的sqlfiddle:http://sqlfiddle.com/#!9/33361/3

tl; dr:为什么SQL查询!= 0不包含NULL值?

我是LEFT JOIN这两张桌子.我希望看到包含NULLin tableB.field11in的行tableB.field1,但是排除所有包含0in的行tableB.field1.

我认为这个查询(例6)应该给我这个结果,但它不会得到空记录.

SELECT * FROM tableA a
LEFT JOIN tableB b ON a.id = b.join_id
WHERE
b.field1 != 0;
Run Code Online (Sandbox Code Playgroud)

我必须使用这个更长的查询(例4):

SELECT * FROM tableA a
LEFT JOIN tableB b ON a.id = b.join_id
WHERE
b.field1 != 0 OR b.field1 IS NULL;
Run Code Online (Sandbox Code Playgroud)

只是好奇多了 - MySQL怎么不考虑NULL!= 0?

当我将条件移动到ON子句时,我得到一个意外的行:

mysql> SELECT * FROM tableA a
    -> LEFT JOIN tableB …
Run Code Online (Sandbox Code Playgroud)

mysql comparison null sqlfiddle

6
推荐指数
2
解决办法
2860
查看次数

jQuery eq函数意外行为

我在我编写的程序中发现了一个错误,但错误的行为对我来说是莫名其妙的:

如果我有:

<input type="text" name="cust_id" value="666" />
<input type="text" name="phone[]" value="666" />
Run Code Online (Sandbox Code Playgroud)

然后使用此选择器:

var test = $("input[name=phone[]]:eq(0)");
test.css("color", "red");
Run Code Online (Sandbox Code Playgroud)

我看到了这个:

在此输入图像描述

令我惊讶的是,eq(0)即使我明确告诉它只找到第一个输入,选择第一个输入name=phone[]

这是一个小提琴:https://jsfiddle.net/1xdnv1t8/

这是预期的行为吗?eq选择器是否忽略属性选择器?

javascript jquery

5
推荐指数
2
解决办法
67
查看次数

使用 PHP 准备 SVG 文件以在 img 标签数据 uri 中使用

我正在使用 PHP。我想使用 file_get_contents 获取 .svg 文件,并将其转换为图像标签中的数据 uri。沿着这些思路:

控制器:

$mylogo   = file_get_contents(FCPATH.'app/views/emails/images/mylogo.svg');
Run Code Online (Sandbox Code Playgroud)

看法:

<img src="data:image/svg+xml;utf8,<?= $mylogo ?>">
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为某种东西(base64?),因为现在它只是将其转储到标签中,尽管图像确实出现了,但它使周围的 img 标签变得混乱。

html php svg image

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

MySQL错误:指定密钥太长; 最大密钥长度为1000字节

关于这个错误还有一些其他问题,但是我很难解决这个问题.

我正在尝试制作一个非常基本的MySQL表.我试图在utf8中保留每一个东西,我理解它比普通的char集需要更多的字节.

CREATE TABLE `bibliography` (
  `id` int(5) unsigned zerofill NOT NULL,
  `pub_type` varchar(5) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `pub_genre` varchar(5) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `author_first` varchar(5) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `author_last` varchar(5) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `publication` varchar(5) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `pub_date` date NOT NULL,
  `pub_city` varchar(5) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `pub_country` …
Run Code Online (Sandbox Code Playgroud)

mysql key phpmyadmin

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

Point-in-Polygon PHP错误

我在php中使用了一个多边形点检查,但是我遇到了重大错误 - 因为在多边形中不存在的点会出现在内部.

我的基本功能在下面输入(在这里找到,从一个类修改为一个简单的函数:http://www.assemblysys.com/dataServices/php_pointinpolygon.php).我唯一能想到的是某种地方的某种舍入错误?

作为一个例子,我试图确定一个点是否在中央公园,一个简单的广场,但我从公园外的点得到肯定.

感谢您的任何见解,

-D

$central_park = array('40.768109,-73.981885', '40.800636,-73.958067', '40.796900,-73.949184', '40.764307,-73.972959');

$test_points = array('40.7546755,-73.9758343', '40.764405,-73.973951', '40.7594219,-73.9733896', '40.768137896318315,-73.9814176061', '40.7982394,-73.9523718', '40.685135,-73.973562', '40.7777062,-73.9632719', '40.764109,-73.975948', '40.758908,-73.9813128', '40.7982782,-73.9525028', '40.7463886,-73.9817654', '40.7514592,-73.9760405', '40.7514592,-73.9760155', '40.7514592,-73.9759905', '40.7995079,-73.955431', '40.7604354,-73.9758778', '40.7642878,-73.9730075', '40.7655335,-73.9800484', '40.7521678,-73.9777978', '40.7521678,-73.9777728')

function pointStringToCoordinates($pointString) {
    $coordinates = explode(",", $pointString);
    return array("x" => trim($coordinates[0]), "y" => trim($coordinates[1]));
}

function isWithinBoundary($point,$polygon){

    $point = pointStringToCoordinates($point);

    $vertices = array();

    foreach ($polygon as $vertex) {
        $vertices[] = pointStringToCoordinates($vertex); 
    }

    // Check if the point is inside the polygon …
Run Code Online (Sandbox Code Playgroud)

php geocoding point-in-polygon

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

iPhone SDK - 通知多次触发,并将多个视图推送到堆栈

好的,所以这实际上已经解决了 - 但我不明白为什么我的工作.

我的问题是发送一次通知会导致一次事件多次触发.我最终在堆栈上看到了几个不需要的视图.简而言之:

用户按下工具栏中的按钮,从代理发送通知

mapItem = [[UIBarButtonItem alloc] initWithImage:mapImage style: UIBarButtonItemStylePlain target:self action:@selector(mapButtonPressed:)];

-(void)mapButtonPressed:(id)sender{
    NSLog(@"Map Button Pressed");
    [[NSNotificationCenter defaultCenter] postNotificationName:@"mapButtonPressed" object:nil ] ;
}
Run Code Online (Sandbox Code Playgroud)

这会在当前视图中触发一个函数,将地图视图推送到堆栈上.

-(void)openListMap:(NSNotification *)aNotification {

    mapViewController = [[MapViewController alloc] initWithNibName:@"MapViewController" bundle:nil];

    NSLog(@"Map Created");

    mapViewController.searchLocation = searchLocation;
    if(givenLocationType == @"input"){
        mapViewController.inputLocationText = inputLocationText;
    }
    mapViewController.givenLocationType = givenLocationType;

    CultureNOWAppDelegate *delegate =
    [[UIApplication sharedApplication] delegate];
    [delegate.navigationController pushViewController:mapViewController
                                      animated:YES];

}
Run Code Online (Sandbox Code Playgroud)

现在,我改变了最后一行:

CultureNOWAppDelegate *delegate =
    [[UIApplication sharedApplication] delegate];
    [delegate.navigationController pushViewController:mapViewController
                                      animated:YES];
Run Code Online (Sandbox Code Playgroud)

至:

[self.navigationController pushViewController:mapViewController animated:YES];
Run Code Online (Sandbox Code Playgroud)

结果是,尽管openListMap函数仍然会多次触发(您可以在控制台中看到,自应用程序启动以来每次出现视图时,日志输出显示"Map Created")它只将最新的mapView推送到堆栈.

但为什么?为什么它首先会多次触发,为什么它会通过交换两段代码而停止,这些代码对于所有意图和目的都是相同的?

谢谢你的任何想法.

iphone sdk notifications uinavigationcontroller

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

MySQL - 左加入MAX时间戳

我知道这是一个常见的问题,因为我之前已经问过它,并且已经看了几个,但是,尽管我的查询基于此,但我无法让它发挥作用.见:Mysql的联接基于MAX(时间戳)MySQL的左连接右表最大值

基本上我有一个不同项目的表格('椅子','桌子'),每种类型的记录都有自己的特定椅子或桌子的id.然后我有一个位置表,它保留了所有曾经存在的位置,包括当前位置.当前位置由MAX时间戳记记.

我的查询是为了获取所有项目,并加入到当前位置.我已经按照其他人所说的工作,但这对我不起作用.任何帮助表示赞赏.

编辑:我没有说它是如何失败的:它获取记录并进行连接,它返回最大时间戳,但不返回与MAX(时间戳)记录对应的记录信息.因此它给出了正确的时间戳,但是地板等不是来自具有MAX时间戳的记录.

谢谢!

查询:

$q = "SELECT
        'chairs' AS work_type,
        chairs.id AS work_id,
        chairs.title,
        chairs.dimensions,
        CurrentLocations.floor,
        CurrentLocations.bin,
        CurrentLocations.bay,
        CurrentLocations.other
       FROM chairs
             LEFT JOIN ( 
                        SELECT 
                              locations.id AS loc_id,
                              locations.work_type AS clwt,
                              locations.work_id AS clwi,
                              locations.floor,
                              locations.bin,
                              locations.bay,
                              locations.other,
                              MAX(locations.timestamp) AS latestLocation
                            FROM
                               locations
                            GROUP BY
                               locations.work_type, locations.work_id
                            ) CurrentLocations
                ON CurrentLocations.clwi = chairs.id AND CurrentLocations.clwt = 'chairs'
        WHERE cur_loc LIKE '%19th Street%'
        ORDER BY 
            FIELD(floor, 'Basement', '3rd Floor', '4th Floor', '5th Floor'), 
            bin, 
            bay,
            other";
Run Code Online (Sandbox Code Playgroud)

mysql join max min

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

PhoneGap/Cordova:很好的模拟器,突然无法在设备上工作:找不到jQuery

这突然开始发生了:我的老板在短时间的商务旅行中使用了应用程序的开发副本,并在旅行中报告了这个错误.我假设我已经对从服务器返回的json进行了一些更改并且破坏了它,但是现在我已经将它恢复了,它似乎与我在服务器上的工作完全没有关系.

这是我在控制台中收到的错误消息:

Error in success callback: Geolocation3 = ReferenceError: Can't find variable: jQuery
Run Code Online (Sandbox Code Playgroud)

要么

Error in success callback: Geolocation3 = ReferenceError: Can't find variable: $
Run Code Online (Sandbox Code Playgroud)

很明显,它只是找不到jQuery.它执行'deviceReady'就好了.但它在模拟器中工作正常.我将jQuery CDN用于jQM和jQ,并且可以通过浏览器访问它们.

什么给出了什么?为什么它突然无法找到jQuery - 而且只能在设备上找到?

我在网上看到了很多类似的问题,但没有一个有明确的答案.有些是"干净和重建"其他人是简单的错别字....但没有这个.这不是位置权限问题.这不是连接问题.这不是网址白名单问题.

一如既往地感谢您的帮助.谢谢!


我将尽可能多地提供以下代码:

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
    <title>XXXXXX</title> 
    <link rel="stylesheet" href="css/jquery.mobile.css" />
    <link rel="stylesheet" href="css/themes/app-2012-11-30.css" />
    <link rel="stylesheet" type="text/css" href="spec/lib/photoswipe/photoswipe.css" />
    <link rel="stylesheet" type="text/css" href="css/index.css" />
    <!-- cordova -->
    <script src="cordova-2.1.0.js" type="text/javascript"></script>
    <!-- jquery -->
    <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
    <!-- Google -->
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script> …
Run Code Online (Sandbox Code Playgroud)

jquery ios jquery-mobile cordova cordova-2.0.0

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