我有一个包含an的AngularJS指令,ngIf我想修改ngIf指令链接函数中的一些DOM .不幸的是,似乎ngIf阻止我在链接函数中查找其中的DOM元素.
以下是该指令的代码:
directive('column', function () {
return {
templateUrl: 'views/column.html',
restrict: 'E',
scope: {
column: '='
},
controller: ['$scope', function ($scope) {
$scope.editing = true;
$scope.toggleEditing = function () {
$scope.editing = !$scope.editing;
};
}],
link: function postLink(scope, element) {
var select = element.find('select');
console.log(select); // See if it can find the select element
// var types = scope.column.types();
// add types as options to the select element
}
};
});
Run Code Online (Sandbox Code Playgroud)
这是指令的简化html:
<div …Run Code Online (Sandbox Code Playgroud) 我最近切换到NSLayoutConstraint我的应用程序,我突然发现,在某些视图中,我的应用程序不断使用大约20%或更多的CPU.正如我所说的那样,只有在屏幕上显示某些视图并且仅在我切换到约束后才会发生.
通过运行时间分析器,我注意到[NSView displayIfNeeded]在这些视图中不断调用,即使没有任何事情发生,也没有事件或用户交互.此外,如果我调整窗口大小,我可以找到CPU使用率降至正常值的某些配置.如果我将窗口恢复到原始大小,CPU使用率会再次增长并再次[NSView displayIfNeeded]被调用.
看起来有一些视图和大小的组合会不断刷新,即使约束没有崩溃(控制台中没有不可满足的约束错误的迹象).
有没有人经历过这个?或者至少知道如何更好地跟踪问题?
经过一些尝试和错误后,我将其缩小到这个观点 
它是TableView中的自定义单元格.如果我用普通单元替换它,则cpu使用率恢复正常.我还检查了布局是不明确的.
我有一个烧瓶应用程序作为REST API后端.我想为后端实现基于令牌的身份验证,但为了做到这一点,我需要检索用户令牌.Flask-Security文档明确指出,要检索令牌,需要执行HTTP POST,并将身份验证详细信息作为JSON数据发送到身份验证端点.不幸的是,我不明白如何检索执行此类请求所需的CSRF令牌.
如果我使用扩展提供的登录页面/模板,CSRF令牌将在窗体的隐藏字段中传递给客户端.问题是:
如何在不访问和解析登录页面的情况下检索CSRF令牌,例如使用$ http方法或移动应用程序的angularJS应用程序?
显然我可以避免使用Flask-Security并自己实现这些部分,但我对webapps相对缺乏经验,我觉得我可能会以错误的方式接近它.
我想知道iOS中是否有一种标准方法可以为未读消息生成编号的气泡图标,就像iphone和mac的邮件一样.
我不是在谈论应用程序项目上的红点,它使用徽章值,但关于邮箱旁边的蓝色气泡.
当然可以使用coregraphics手动完成,但是很难匹配邮件中使用的标准尺寸和颜色.
我需要创建一个同时带有图像和标题的NSButton,但是我不喜欢可可中的任何标准定位方法。
我决定对按钮单元进行子类化,并覆盖-imageRectForBounds:和-titleRectForBounds:提供我的自定义位置。问题在于该-titleRectForBounds:方法可以正常调用,但-imageRectForBounds:不是。
按钮中的图像正常显示,因此单元格必须有一个框架来绘制图像,我只是不知道它是从哪里获得的。
代码非常简单。目前,我唯一要做的就是继承NSButtonCell并重写这两个方法。然后在IB中,选择一个NSButton并将其单元格类更改为我的自定义按钮单元格。
这是代码:
#import "JSButtonCell.h"
@implementation JSButtonCell
- (NSRect)titleRectForBounds:(NSRect)theRect
{
NSLog(@"Bounds for title");
NSLog(@"%@",NSStringFromRect(theRect));
NSRect titleRect = [super titleRectForBounds:theRect];
NSLog(@"Title rect");
NSLog(@"%@",NSStringFromRect(titleRect));
return titleRect;
}
- (NSRect)imageRectForBounds:(NSRect)theRect
{
NSLog(@"Bounds for image");
NSLog(@"%@",NSStringFromRect(theRect));
NSRect imageRect = [super imageRectForBounds:theRect];
NSLog(@"Image rect");
NSLog(@"%@",NSStringFromRect(imageRect));
imageRect.origin.y -= 20;
return imageRect;
}
@end
Run Code Online (Sandbox Code Playgroud) 我试图通过过滤其中一个关系中的列来批量删除关联表中的对象.我在SQLAlchemy中使用以下调用来进行删除
db.session.query(UserPaper).join(Paper, (UserPaper.paper_id ==
Paper.id)).filter(UserPaper.user_id == user.id).filter(Paper.journal_id
== journal.id).delete()
Run Code Online (Sandbox Code Playgroud)
并导致以下错误
OperationalError: (OperationalError) (1054, "Unknown column 'papers.journal_id'
in 'where clause'") 'DELETE FROM userpapers WHERE userpapers.user_id = %s AND
papers.journal_id = %s' (1L, 1L)
Run Code Online (Sandbox Code Playgroud)
如果没有最后的删除,SQLAlchemy查询就是
SELECT userpapers.user_id AS userpapers_user_id, userpapers.paper_id AS
userpapers_paper_id, userpapers.created AS userpapers_created,
userpapers.read_at AS userpapers_read_at, userpapers.score AS userpapers_score
FROM userpapers JOIN papers ON userpapers.paper_id = papers.id
WHERE userpapers.user_id = :user_id_1 AND papers.journal_id = :journal_id_1
Run Code Online (Sandbox Code Playgroud)
哪个是对的.从错误中我可以看到,当我附加delete()到查询时,SQL语句的连接部分会丢失,并且数据库显然不知道如何查找papers.journal_id列.我不明白为什么会发生这种情况?
这是我的ORM对象的设置
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True) …Run Code Online (Sandbox Code Playgroud) 我有一个 cmake 项目,它使用 cpack 生成 zip 文件和 debian 软件包,我希望能够为这两个版本的软件包安装不同的文件。
更具体地说,这是一个生成 zip 和 debian 包的示例 CMake 文件:
cmake_minimum_required(VERSION 3.5)
project(test_packaging)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp)
add_executable(test_packaging ${SOURCE_FILES})
install(FILES test.txt DESTINATION auxilliary/)
set(CPACK_GENERATOR "ZIP;DEB")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Ford Prefect")
include(CPack)
Run Code Online (Sandbox Code Playgroud)
我想做的是test.txt在两个不同的包中安装该文件的两个不同版本?就像是
if(packaging zip)
install(FILES test_zip.txt DESTINATION auxilliary/)
elseif(packaging deb)
install(FILES test_deb.txt DESTINATION auxilliary/)
endif(expression)
Run Code Online (Sandbox Code Playgroud) 我创建了一个子类,NSTextField根据它包含的文本更改其高度.我现在想在另一个视图(an NSTableCellView)中插入它,并根据文本字段的高度调整视图大小.
我想使用-(NSSize)fittingSize方法,NSView但不幸的是它似乎没有调用fittingSize其子视图的intrinsicContentSize方法或他们的方法.
这是我用于NSTableCellView子类的代码:
- (id)initWithFrame:(NSRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self setTranslatesAutoresizingMaskIntoConstraints:NO];
self.expandingTextField = [[JSExpandingTextField alloc] init];
[self addSubview:self.expandingTextField];
[self removeConstraints:self.constraints];
NSDictionary *row = NSDictionaryOfVariableBindings(expandingTextField);
[self addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"V:|-20-[expandingTextField]-28-|"
options:0 metrics:nil views:row]];
}
return self;
}
- (NSSize)fittingSize
{
return [super fittingSize];
}
Run Code Online (Sandbox Code Playgroud)
我在fittingSize这里重写方法只是为了放一个断点或一个NSLog.
以下是表视图委托的代码,它提供表格单元格的高度:
- (JSDynamicTableCellView *)dummyCell
{
if (!_dummyCell) {
_dummyCell = [[JSDynamicTableCellView alloc] initWithFrame:NSMakeRect(0.0, 0.0, 100, 100)]; …Run Code Online (Sandbox Code Playgroud) 我有一个视图,其中三个NSTextField连接到一个视图控制器,它作为所有三个的委托.
我已成功实现controlTextDidEndEditing来拦截用户输入的文本并更改模型中的属性.该方法在委托中是唯一的,并且所有三个文本字段都触发它.问题是,我如何确定哪一个发出了通知?我可以从通知的关键"NSFieldEditor"获取NSTextView,但这并不能告诉我它是哪一个.一开始我想到使用NSTextField占位符,但该方法返回一个NSTextView,它似乎没有占位符属性.
任何的想法?
我有一个NSTokenFiled通过-tokenField:shouldAddObjects:atIndex:委托方法验证插入的令牌.不幸的是,只有当用户按下标记字符时才会调用此方法.当他/她在控件外部单击时,按esc或tab,未完成的字符串将自动转换为令牌而不调用验证方法.
在询问谷歌后,我注意到问题已知并且stackoverflow上有人建议覆盖-control:isValidObject:委托方法以验证剩余的字符串.
不幸的是,传递给此方法的对象是NSMutableString对于已经插入到令牌字段中的每个令牌都具有不可见字符.可能这就是可可如何跟踪显示令牌的位置.
我的问题是:如何删除这些非法字符?
到目前为止,我尝试过这些:
NSString *newString = [NSString stringWithUTF8String:[stringWithInvisibleCharcters UTF8String]];
NSString *newString = [stringWithInvisibleCharacters stringByTrimmingCharactersInSet:[NSCharacterSet illegalCharacterSet]];
NSString *newString = [stringWithInvisibleCharacters stringByTrimmingCharactersInSet:[NSCharacterSet controlCharacterSet]];
Run Code Online (Sandbox Code Playgroud)
没有成功.我知道最后两个只适用于令牌字符位于开头和结尾的情况,但到目前为止这是我的情况.
编辑:
如果它有助于记录字符
NSLog(@"%hu",[(NSMutableString *)object characterAtIndex:0]);
Run Code Online (Sandbox Code Playgroud)
返回65532.
cocoa ×5
macos ×4
objective-c ×3
angularjs ×2
flask ×2
cmake ×1
cpack ×1
ios ×1
iphone ×1
javascript ×1
nsbutton ×1
nsbuttoncell ×1
nsstring ×1
python ×1
sql ×1
sqlalchemy ×1