在es6中你可以定义一个像这样的函数模块
export default {
foo() { console.log('foo') },
bar() { console.log('bar') },
baz() { foo(); bar() }
}
Run Code Online (Sandbox Code Playgroud)
上面似乎是有效的代码,但如果我调用baz()它会抛出一个错误:
ReferenceError: foo is not defined
你如何foo从另一个功能打电话?在这种情况下baz
编辑
这是实际不起作用的代码.我已经简化了代码,所以它只是需要的核心
const tokenManager = {
revokeToken(headers) {
...
},
expireToken(headers) {
...
},
verifyToken(req, res, next) {
jwt.verify(... => {
if (err) {
expireToken(req.headers)
}
})
}
}
export default tokenManager
Run Code Online (Sandbox Code Playgroud)
而错误是
expireToken(req.headers);
^
ReferenceError: expireToken is not defined
Run Code Online (Sandbox Code Playgroud)
编辑2
我只是想加入tokenManager之前expireToken最后和它的工作原理
更新 这似乎只是IOS 7的一个问题.已接受的答案已添加了一个很好的解决方法.
我创建了一个包含UITextView和UILabel的自定义控件,其中包含textview的标题,即我的控件.我的控件会自动更改大小以适应textview和标题.在此之前,我更改textview的大小以适合文本.这最佳地工作.
我添加了功能,因此textview会自动滚动到最后一行.或者这至少是我正在尝试的东西.只要最后一行包含除空文本之外的任何内容,它就可以正常工作.如果文本为空,则向下滚动,因此您只能看到光标的大约一半.
我究竟做错了什么?
所以你可以更好地理解我做了一些图像:
这是我输入一个单词并制作一些换行符.(仍然不足以让它滚动)

我做了一个休息时间.(按回车键)仔细查看光标如何减半.这是问题!

我已经拍了下一张照片,所以你可以看到我的预期.

当我尝试分发应用程序时,我收到此错误:
Xcode试图找到或生成匹配的签名资产,但由于以下问题而未能这样做.
找不到"Application/TheApp.app"的匹配配置文件
没有任何有效的配置文件允许指定的权利:application-identifier,beta-reports-active,keychain-access-groups.
我真的不明白那个错误意味着什么.有帮助吗?
在xcode 5中,我收到此警告:
"c99中隐式声明函数无效"
如果我不能使用free()函数,我应该如何释放我的c结构?
在正则表达式中,您可以将不同的匹配分组以轻松地"匹配"给定匹配.
while match != nil {
match = source.rangeOfString(regex, options: .RegularExpressionSearch)
if let m = match {
result.append(source.substringWithRange(m)
source.replaceRange(m, with: "")
}
}
Run Code Online (Sandbox Code Playgroud)
以上作品找到了一系列的匹配,但它不能告诉我这个组.例如,如果我搜索封装在""中的单词,我想匹配一个"单词",但很快就只能获取单词
是否有可能迅速这样做?
是否可以滚动到一个部分而不是一行?如果是这样的话?
顺便说一句.我正在使用一种方法来删除浮动标头.
这是我用来移动到第一行选定部分的代码.
if (self.openSectionIndex != NSNotFound) {
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:section] atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
这是删除浮动标头的代码
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (self.openSectionIndex != NSNotFound) {
if (scrollView.contentOffset.y<=DEFAULT_HEADER_HEIGHT&&scrollView.contentOffset.y>=0) {
scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
} else if (scrollView.contentOffset.y>=DEFAULT_HEADER_HEIGHT) {
scrollView.contentInset = UIEdgeInsetsMake(-DEFAULT_HEADER_HEIGHT, 0, 0, 0);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我想要的,但我宁愿也显示标题.
现在,标题隐藏在屏幕顶部.
我想创建一个文本编辑器,我可以在其中使文本变粗,更改其颜色等.
我发现这个代码大致有效:
public static void BoldSelectedText(RichTextBox control)
{
control.SelectionFont = new Font(control.Font.FontFamily, control.Font.Size, FontStyle.Bold);
}
Run Code Online (Sandbox Code Playgroud)
但是当我输入更多字母时RichTextBox,文字仍然是大胆的.
除非我选择文本并点击"Make Bold"按钮,否则我怎样才能使所选文本只是粗体而下一个字符不是?
我有一个UICollectionView支持水平和垂直滚动.每个集合视图单元都是它的子类,UICollectionViewCell它们是从包含UIButton's,UITableView甚至是另一个的NIB加载的UICollectionView.他们都在里面TPKeyboardAvoidingScrollView.
滚动在水平和垂直方向都可以完美地工作,但它不会在个人元素上接收触摸事件UICollectionViewCell.当我触摸任何元素时,说一个按钮是其中的一部分UICollectionViewCell,那么我得到的就是didSelectItemAtIndexPath事件UICollectionViewDelegate- 我无法将任何触摸事件传递到集合视图单元格的其中一个子视图上.
我正在构建一个个人商店应用程序,用户可以相互销售商品,但我很难搞清楚如何管理产品.例如,如果你想卖T恤,你应该能够选择尺寸和颜色等,但如果你卖电脑,你应该指定年份,CPU功率等.所有产品都有标题,价格,图像等在,但你会如何与不同的属性相处?我正在使用mongodb作为对象.
我在想一个字段attributes应该是一个具有不同细节的对象,然后是一个type可以定义存在哪些属性的字段.如果type = 'Computer那时我会知道attributes看起来像这样.
attributes: {
capacity: 1000 // gb
ram: 4096 // MB
}
Run Code Online (Sandbox Code Playgroud)
等等
在通常的面向对象设计中,我会通过继承/接口完成此操作.如果您对mongoose/node.js中的最佳方法有任何想法,我会很高兴听到它.
如果我在这个问题上没有说清楚,请告诉我什么是模糊的,应该澄清什么
编辑:
以下文章介绍了该问题的一种解决方案 http://learnmongodbthehardway.com/schema/chapter8/
但是它没有说明放置属性的位置.一种解决方案可能只是将其存储在类别本身中,但我不确定这里的最佳实践.
由于我使用一台带有电视作为第二个显示器的笔记本电脑,我想制作一个小脚本,它将触发屏幕设置从扩展到克隆,当它设置为克隆时,它应该将屏幕设置设置为扩展。我想用 C# 制作它,因为它是我的主要语言,我认为它可以解决我的问题。
所以我现在制作了一个像这样的控制台应用程序:
class Program
{
static void Main(string[] args)
{
DisplayChanger.Start();
}
private static Process DisplayChanger = new Process
{
StartInfo =
{
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
FileName = "DisplaySwitch.exe",
Arguments = "/extend"
}
};
}
Run Code Online (Sandbox Code Playgroud)
创建新流程效果很好。但我的问题是,如何检查“显示”的状态?我需要它,以便我可以运行测试以查看要启动的进程。
感谢您的帮助 :)