我已经构建了一个报告,它使用一组嵌套的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) 我有一些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意味着什么(它意味着'插座').
我正在尝试做一些我认为很简单的事情,但是我被困住了.我基本上想要从多个地址部分字段创建单个地址字段,使用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,' & ',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) 这是两个测试表的sqlfiddle:http://sqlfiddle.com/#!9/33361/3
tl; dr:为什么SQL查询!= 0不包含NULL值?
我是LEFT JOIN这两张桌子.我希望看到包含NULLin tableB.field1或1in的行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) 我在我编写的程序中发现了一个错误,但错误的行为对我来说是莫名其妙的:
如果我有:
<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选择器是否忽略属性选择器?
我正在使用 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 标签变得混乱。
关于这个错误还有一些其他问题,但是我很难解决这个问题.
我正在尝试制作一个非常基本的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) 我在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) 好的,所以这实际上已经解决了 - 但我不明白为什么我的工作.
我的问题是发送一次通知会导致一次事件多次触发.我最终在堆栈上看到了几个不需要的视图.简而言之:
用户按下工具栏中的按钮,从代理发送通知
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推送到堆栈.
但为什么?为什么它首先会多次触发,为什么它会通过交换两段代码而停止,这些代码对于所有意图和目的都是相同的?
谢谢你的任何想法.
我知道这是一个常见的问题,因为我之前已经问过它,并且已经看了几个,但是,尽管我的查询基于此,但我无法让它发挥作用.见: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) 这突然开始发生了:我的老板在短时间的商务旅行中使用了应用程序的开发副本,并在旅行中报告了这个错误.我假设我已经对从服务器返回的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)