我有UnsavedChangesModal
一个组件需要在用户在输入字段中有未保存的更改时尝试离开页面时启动(我在页面中有三个输入字段).
components: {
UnsavedChangesModal
},
mounted() {
window.onbeforeunload = '';
},
methods: {
alertChanges() {
}
}
Run Code Online (Sandbox Code Playgroud) 在正常路线中:
get /index, MyController, :index
Plug.Conn
我可以简单地从的 path_info 函数获取路线。
但是,如果我有实时路线,如何检索当前路径?
live /index, IndexLive
我能够在列表中实现拖放项目并对其重新排序。我需要做的是实现一种删除功能,在该功能中,可以选择并按住某个项目并将其拖到垃圾箱图标。一旦它与废纸icon图标重叠,后者就会将其颜色从灰色更改为红色。用户释放项目后,将显示确认模式。
从演示中,您可以看到将列表中的前三个项目拖向废纸icon图标并没有将废纸icon图标变成红色,而是启动了模式。第四项确实更改了垃圾桶图标的颜色,但是没有确认就立即从列表中删除。
拖放使用ItemTouchHelperCallback
以下命令实现:
public class EditItemTouchHelperCallback extends ItemTouchHelper.Callback {
private final RVAdapter mAdapter;
private RecyclerView.ViewHolder curHolder;
private int curPos;
private boolean deletedSomething;
private CreatePhotostoryActivity cpa;
public EditItemTouchHelperCallback(RVAdapter adapter) {
mAdapter = adapter;
cpa = new CreatePhotostoryActivity();
}
@Override
public boolean isLongPressDragEnabled() {
return true;
}
@Override
public boolean isItemViewSwipeEnabled() {
return false;
}
@Override
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
int dragFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN | ItemTouchHelper.START | ItemTouchHelper.END;
int swipeFlags = ItemTouchHelper.START | ItemTouchHelper.END;
return …
Run Code Online (Sandbox Code Playgroud) 我为 Winston 中的错误和警告进行了两次传输,据称它们会写入文件。现有的控制台日志传输工作正常,我确实检查pm2 logs
并查看了日志,但文件传输没有保存任何内容。
'use strict';
const winston = require('winston');
const m = require('moment-timezone');
let logger = null;
/**
* Initializes the logger
* @param {object} configLogging
*/
module.exports.initialize = function initialize(configLogging) {
const dateFormat = 'dddd, MMMM Do YYYY, h:mm:ss a';
logger = new winston.Logger({
transports: [
new (winston.transports.Console)({
name: 'info-console',
level: configLogging.level,
colorize: true,
timestamp: function() { return m.utc().format(dateFormat); }
}),
new (winston.transports.File)({
name: 'warning-file',
filename: 'warning-file.log',
level: 'warning'
}),
new (winston.transports.File)({
name: 'error-file',
filename: 'error-file.log', …
Run Code Online (Sandbox Code Playgroud) 我正在遵循文档中的示例,但对注册令牌感到困惑。我正在本地本地服务器上测试推送通知。如何准确检索当前注册令牌,以及如何为多个Web应用程序用户生成注册令牌?
我的Phoenix应用程序有这个Dockerfile。使用Semaphore CI运行升级时,我的部署失败并返回以下错误:
ERROR: unsatisfiable constraints:
libssl1.0 (missing):
required by: world[libssl1.0]
pdftk (missing):
required by: world[pdftk]
Run Code Online (Sandbox Code Playgroud)
为什么无法获取这两个软件包?
我的一个班级模型中有以下架构:
class SocialMediaSchema(Schema):
facebook_profile_url = fields.String(required=False, validate=validate.Length(0, 71, 'Facebook username is too long.')
Run Code Online (Sandbox Code Playgroud)
除了验证长度之外,我还希望能够确保该facebook_profile_url
长度永远不等于string "http://www.facebook.com/"
。
我正在尝试使用 Vue 动态地将最里面元素的宽度设置为等于最外面元素的宽度:
<div id="banner-container" class="row">
<div class="col-xs-12">
<div class="card mb-2">
<div class="banner banner-tag card-body" :style="getBannerStyle"></div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我在 Javascript 中有以下代码,在 Vue 中有计算属性:
var container = document.getElementById('banner-container').offsetWidth;
...
computed: {
getBannerStyle () {
return 'width: ' + container + 'px;';
}
}
Run Code Online (Sandbox Code Playgroud) 我使用以下方法创建了从当年到1930年的降序整数数组moment
:
options = Array(moment().year() - 1929).fill().map((_, index) => moment().year() - index)
Run Code Online (Sandbox Code Playgroud)
我正在尝试转换options
为一个对象数组,以便生成的数组是这样的:
[{value: '2018', label: '2018'}, {value: '2017', label: '2017'}, ..., {value: '2', label: '2'}, {value: '1', label: '1'}]
Run Code Online (Sandbox Code Playgroud) 我想知道何时将元素拖放到其父级之外:
element.addEventListener('dragend', function(event) {
// check if element is dropped outside its parent
}, false)
Run Code Online (Sandbox Code Playgroud) 我有一个电子邮件输入和一个观察者,用于检查输入是否有效。但是,只有当您在电子邮件字段中键入内容时才会触发 watch 事件。电子邮件字段的现有值可能无效,也可能无效。如果电子邮件无效,则显示 x,否则显示检查。但是,由于电子邮件具有现有值,因此即使输入无效,最初也会显示支票。如果用户清除了电子邮件字段,并重新输入了无效的电子邮件,那么这是唯一一次触发观察者并显示 x 的时间。
这是我的 vue 实例:
var register = new Vue({
el: '#register',
data: {
email: document.getElementById('profileEmail').value,
isEmailTaken: false,
emailTimer: null,
emailBusy: false
},
methods: {
validateEmail: function(email) {
var self = this;
var url '/api/users?email=' + email;
self.$http.get(url)
.then(function(res){
self.isEmailTaken = true;
self.emailBusy = false;
}, function(err){
self.isEmailTaken = false;
self.emailbusy = false;
});
},
watch: {
email: function(val) {
var self = this;
clearTimeout(self.emailTimer);
self.emailBusy = true;
self.emailTimer = setTimeout(function() {
self.validateEmail(val);
}, 1600);
} …
Run Code Online (Sandbox Code Playgroud) 我有以下数组:
options = [
"Asset Management & Investment Funds",
"Financial Institutions",
"Life Sciences",
"TMT",
"Other"
]
Run Code Online (Sandbox Code Playgroud)
Choices.js默认按字母顺序排序,Other
最后排在前面,TMT
这对用户来说是刺耳的。
const $projectDropdown = new Choices($this[0], {
placeholder: true,
placeholderValue: 'Select a project'
})
Run Code Online (Sandbox Code Playgroud)
我尝试查看该sortFilter
函数,但它仅指定了排序方法。
我正在尝试使用vee-validate插件进行表单验证而不使用npm install --save
,所以我将 dist 文件夹中的文件复制到我的项目中,但由于某种原因我无法正确使用该插件。
这就是我在 pug 文件中将插件称为脚本的方式register.pug
:
block main-content
.article#register
form
input(
v-model="email"
v-validate.initial="'required|email'"
:class="{'input': true, 'is-danger': errors.has('email') }")
block page-specific-scripts
script(data-minjs-group="register" src="/libs/vue/vee-validate.js")
script(data-minjs-group="register" src="/scripts/onboarding/register.js")
Run Code Online (Sandbox Code Playgroud)
这是register.js
:
(function(doc, win) {
'use strict';
var register = new Vue({
el: '#register',
data: {
email: ''
}
});
})(document, window);
Run Code Online (Sandbox Code Playgroud)
当我重新加载页面时,我收到以下消息:“属性或方法“错误”未在实例上定义,但在渲染过程中被引用。” 这不应该是这种情况,因为我认为这errors
是 vee-validate 插件的内置属性。
javascript ×6
vue.js ×4
elixir ×2
node.js ×2
alpine-linux ×1
android ×1
arrays ×1
callback ×1
css ×1
docker ×1
firebase ×1
html ×1
html-select ×1
logging ×1
marshmallow ×1
momentjs ×1
pm2 ×1
pug ×1
python-3.x ×1
semaphore-ci ×1
unit-testing ×1
validation ×1
vee-validate ×1
vuex ×1
winston ×1