现在flexbox连续我都可以写
<div layout="row">
<div>some content</div>
<div flex></div> <!-- fills/grows available space -->
<div>another content</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我希望实现相同但垂直,就像在这张照片上
目前的问题是需要增长的div没有任何高度,因此两个内容相互低于一致.我希望我的第二个内容位于具有固定高度的父容器的底部!
我知道我可以通过将第二个内容定位为绝对来解决这个问题bottom: 0;但是我可以实现flexbox吗?
我的个人/爱好应用程序有一个基于Koa的Node.js后端.
我用JWT令牌实现了会话处理.客户端(AngularJS)在成功登录后获取令牌并将令牌存储在某处(当前存在sessionStorage但是出于此问题的目的,它应该无关紧要).
我有两个问题:
当我需要更新JWT所代表的用户记录时,比如说,用户打开了双因素身份验证(2FA),所以我让他提供他的电话号码,我想在用户的记录中设置这个电话号码.目前,在成功验证电话号码后,我调用后端更新用户记录,并使用更新的用户记录创建新的JWT令牌(我从JWT令牌中排除敏感信息,如散列密码,但我想要包括客户端使用的电话号码).当某些凭据更改并使用此新令牌更新现有客户端令牌时,是否可以创建新令牌?我是否永远不会创建另一个令牌,只创建一个令牌并且只有在成功验证后?然后,我如何更新令牌中的有效负载?
我该如何处理过期的JWT令牌?在我看来,我有3个(可能的)场景:
2.1.JWT准备短暂生活,比如说15分钟.如果后端服务器回复401 Unauthenticated'Invalid token'(我猜这是默认行为koa-jwt),那么我会自动注销我的客户端并要求重新验证.但我还建立了一个互补的中间件,它是后端链中的最后一个,用刷新的到期重新创建令牌,客户端也会用刷新的令牌替换现有的令牌.因此,如果用户处于活动状态并且每个受保护的API调用都使用该应用程序,则在成功的情况下,将创建新令牌以替换旧令牌.
2.2.JWT设置为长寿命,比如1周,如果它到期,我选择从客户端重新进行身份验证.
2.3.复制https://tools.ietf.org/html/rfc6749#section-1.5.在成功验证后创建JWT令牌时,我们发送access_token和refresh_token.当access_token过期并且服务器以HTTP 401 '无效令牌'(koa-jwt默认)响应时,客户端将refresh_token发送到后端以要求新的access_token(以及可选地新的refresh_token).在这种情况下,我不完全理解如何针对旧的access_token验证refresh_token以提供新令牌?或者为什么我们需要一个refresh_token?
关于上层主题(JWT更新和JWT到期)的任何通用建议都会有所帮助.
我很好奇,因为我认为
Object.prototype.toString.call(null)
Run Code Online (Sandbox Code Playgroud)
返回[object Object],但现在我在 Chrome 和 FF 中检查,并且都返回了[object Null]。现在的问题是,我是否可以假设 Object.prototype.toString 总是会告诉我好的类型?
到目前为止,我正在使用此方法检查每种类型,但不是空值,我正在检查空值
obj === null;
Run Code Online (Sandbox Code Playgroud)
谢谢!
澄清说明:这个“问题”不是一个严重的情况,因为我正在使用 atm
function isNull(obj) {
return obj === null;
}
function isUndefined(obj) {
return typeof obj === 'undefined';
}
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但如果Object.prototype.toString.call()将旧的浏览器工作充分,我可能会下降这两个功能,并延长我的解决方案null和undefined这样的:
Object.prototype.toString.call(null)
Run Code Online (Sandbox Code Playgroud)
obj === null;
Run Code Online (Sandbox Code Playgroud)
我想在迁移脚本中使用续集模型。有没有可能,如果有,能否举个例子?谢谢
我正在创建一个表,帐户,在使用迁移脚本创建它之后,我想遍历所有未关联的用户(旧用户)(~还没有帐户)并为这些用户创建一个新帐户老用户。为此,我想使用续集模型来编写:User.findAll({ include: [Account], where: { Account: null } })我知道这有点太奇特了,我可以写一个续集声明来创建这些帐户,但是.. :D
当我尝试要求 sequelize 模型时,迁移总是会引发[SyntaxError: Unexpected token =]错误。请注意,在脚本创建表(帐户)后,我只需要模型(帐户)。我的模型文件中没有语法错误,因为否则它可以工作,但是当我尝试在迁移脚本中使用它时,它没有。
任何人都可以帮我一个从用户输入(电子邮件地址)创建安全令牌(或哈希)的答案。我想制作一个用于注册的电子邮件验证系统。
我的问题是此URL的外观如何。我认为我应该通过将电子邮件地址编码到其中,将URL保存到临时表中来使其具有唯一性,并且当用户打开链接时,我会比较两者。如果匹配,我会将凭据移至真实表。
您是否有关于此主题的任何良好资源。我在后端有nodejs。谢谢
我有一个提交,其中的拉取请求已经合并到开发分支中。然后,在一个弱者犯了一个错误并将主分支合并回开发之后,不知何故,我不知道如何,但我已经合并的提交现在已经从开发分支中消失了。
我可以在提交后追踪到 dev 分支的提交,并且可以追踪出错的地方,但是破坏/删除我的合并提交的提交的 PR 不会显示我的文件,就好像它会因此而更改一样犯罪。
长话短说,一些代码通过提交恢复到旧状态并且没有任何迹象,我如何将提交重新应用到开发分支?
这是我的情况,我很反应/变化,并开始玩它.我的玩具项目是一个简单的图书馆应用.我目前的状况如下:
如果我改变当前用户,我很难找到如何重新渲染我的库组件.从我的第一个项目开始,我不想使用正确的身份验证或创建路由器.所以我只做了一个Login表单,每当用户输入他的名字并登录时,我就会将库应用程序渲染到DOM上.
Login = React.createClass({
_handleSubmit: function () {
var inp = this.refs.login.getDOMNode();
sessionStorage.setItem("username", inp.value);
console.info('User Credentials saved to SessionStorage');
inp.value = '';
React.renderComponent(
<Library />,
document.querySelector('#content')
);
},
render: function () {
return (
<div className="panel panel-default">
blabla
<button className="btn btn-default" type="button" onClick={this._handleSubmit} >
Login
</button>
blabla
</div>
);
}
});
Run Code Online (Sandbox Code Playgroud)
这很好用,但我认为它远非一种最佳方法.每当我再次登录时,react都会将一个新实例从Library组件重新呈现到DOM节点中.我根本不打算解构,我认为这很糟糕:(我知道反应不会附加,但擦除并填充到节点中,但事件处理程序可能会保留等等.
那么对于我的情况,什么可能是一个很好的解决方案?
我脑子里有3个可能的解决方案
:)谢谢你的回答,干杯
暗示:
app.js
'use strict';
var React = require('react'),
Login = require('./components/Login.jsx');
// Dev-tools
window.React = React;
React.renderComponent(
Login(), …Run Code Online (Sandbox Code Playgroud) 我想创建一个 javascript 正则表达式来测试字符串是否是指向.html,.htm或.json资源的有效 URL 。
我试过
validUrl = new RegExp('(\.html)|(\.htm)$','g');
Run Code Online (Sandbox Code Playgroud)
像这样,但没有成功:(然后我尝试了
validUrl = new RegExp('(.*\.html|.*\.htm|.*\.json)$','i');
Run Code Online (Sandbox Code Playgroud)
这个似乎有效,但我不相信这是正确的。有人可以确保我吗?:)
谢谢