在以"功能"方式编写的脚本中,如何以最"纯粹"的方式操作DOM.
例如,如果我只需要更改元素宽度,我应该使用典型语法,如:
document.querySelector(".class").style.width = ...
Run Code Online (Sandbox Code Playgroud)
或写专用功能,如:
function resize(el, w) {
return el.style.width = w;
}
resize(document.querySelector(".class", 100));
Run Code Online (Sandbox Code Playgroud)
我想,我理解函数式编程的一般概念,但我遇到的所有例子都集中在操作数字或字符串上.操纵DOM被认为是副作用,所以我想知道如何以正确的方式做到这一点.
编辑:
下面更新了代码,问题是,是iit functionall?如果不是,我会感激建议如何重写它.
"use strict";
const outerW = num => 100 * num + "%";
const innerW = num => 100 / num + "%";
const setW = (el, w) => el.style.width = w;
const mask = document.querySelector(".slider__slides__mask");
const slides = document.querySelectorAll(".slider__slide");
setW(mask, outerW(slides.length));
slides.forEach(function(item) {
setW(item, innerW(slides.length));
});
Run Code Online (Sandbox Code Playgroud) 我想生成带有复选框的文件列表。我尝试使用 FieldList 但它没有按我预期的那样工作。我得到的不是带有指定文件名的复选框,而是带有以包含 FieldList 对象的变量命名的标签的复选框。有什么办法可以解决吗?
应用程序.py:
from flask import Flask, render_template
from flask_bootstrap import Bootstrap
from flask_wtf import FlaskForm
from wtforms import BooleanField, FieldList, SubmitField
app = Flask(__name__)
app.config['SECRET_KEY'] = 'development'
Bootstrap(app)
filenames = ['1.jpg', '2.jpg', '3.jpg', '4.jpg']
class FileListForm(FlaskForm):
filename = FieldList(BooleanField(), 'Files')
submit = SubmitField('Submit')
@app.route('/')
def listfiles():
form = FileListForm()
for filename in filenames:
form.filename.append_entry(filename)
return render_template('index.html',
form=form)
if __name__ == '__main__':
app.run(debug=True, port=5001)
Run Code Online (Sandbox Code Playgroud)
模板/index.html
{% import "bootstrap/wtf.html" as wtf %}
{{ wtf.quick_form(form) }}
Run Code Online (Sandbox Code Playgroud)
包:
click==6.7
dominate==2.3.1 …Run Code Online (Sandbox Code Playgroud) 我ini在PyQt5应用程序中从文件加载布尔值时遇到问题。
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5 import QtCore
from PyQt5.QtCore import QSettings, QVariant
from PyQt5.QtWidgets import (
QApplication, QCheckBox, QDialog, QGridLayout,
QLabel, QLayout, QPushButton
)
class Settings(QDialog):
"settings GUI"
_settings = None
def __init__(self):
super(Settings, self).__init__()
self._ui()
def _ui(self):
self._chk_test = QCheckBox()
self._chk_test.setText("test checkbox")
self._settings = QSettings("settings.ini", QSettings.IniFormat)
self._settings.setFallbacksEnabled(False)
# load configuration
self._chk_test.setChecked(
self._bool(self._settings.value("test_value", True)))
# save settings
btn_save = QPushButton("save")
btn_save.clicked.connect(self._save_settings)
# setting layouts
grid_layout = QGridLayout()
grid_layout.addWidget(self._chk_test, 0, 0, …Run Code Online (Sandbox Code Playgroud) python ×2
python-3.x ×2
dom ×1
ecmascript-6 ×1
flask ×1
javascript ×1
pyqt ×1
pyqt5 ×1
qsettings ×1