我正在尝试将样式组件与打字稿和 BEM 结构一起使用
所以我有一个简单的例子
索引.tsx
import styled from 'styled-components'
import Header from './Header'
interface ICard {
Header:
}
const Card = styled.div`
border: 1px solid gray;
padding: 10px;
`
Card.Header = Header
export default Card
Run Code Online (Sandbox Code Playgroud)
标头.tsx
import styled from 'styled-components'
const Header = styled.h1`
color: #313c53;
font-size: 1.2em;
line-height: 1.5;
`
export default Header
Run Code Online (Sandbox Code Playgroud)
并在标记中
<Card>
<Card.Header>
Header
</Card.Header>
</Card>
Run Code Online (Sandbox Code Playgroud)
我的问题出在 index.tsx 中,我在这里收到错误Card.Header = Header
Type 'StyledComponent<"label", any, {}, never>' is not assignable to type 'never'.ts(2322)
Run Code Online (Sandbox Code Playgroud)
我知道这是与打字稿相关的,我一直在尝试修复界面,但无法让它工作。
我该如何修复这个打字稿错误?
我目前正在开发一个业余爱好项目,我从 MongoDB 数据库加载一些数据,从 Node.js 后端获取数据到我的前端,在那里我操作我的数据,最后我想在我的 Angular 前端显示数据在 Chart.js 图表中。
存在问题:我得到的数据没有任何问题,如果我用一些模拟数据加载图表,一切都会完美运行,但是当我尝试在图表中加载真实数据时,它不会显示,直到我调整窗口大小或例如按 f12 检查我的网站。
提前致谢!
这里截取了一个简化的代码:
allTitles = [];
allSets = [];
allColors = [];
// OnInit:
this.chart = new Chart('myChart', {
type: 'doughnut',
options: {
responsive: true,
},
data: {
labels: this.allTitles,
datasets: [
{
label: 'My First dataset',
data: this.allSets,
backgroundColor: this.allColors,
borderColor: '#000000'
}
]
}
});
// A Function to get the Data from my Service:
this.parseService.getPlans().subscribe((plans: any) => {
plans.forEach(plan => {
this.parseService.getExercisesByPlan(plan._id).subscribe((exercises: any) => {
this.neighbourSetsCounter …Run Code Online (Sandbox Code Playgroud) 我正在开发一个面板,在其中上传 jpg,它复制它,调整它的大小,保存另一个 jpg,现在我还希望能够创建一个副本,但使用 webp 扩展。
我检查了所有地方,但找不到有同样问题的人。我在 CentOS cPanel 上运行 cPanel > 版本:ImageMagick 6.9.10-68 Q16 x86_64 2020-04-01
$imagick = new \Imagick($targetJpg);
$imagick->writeImage('webp:'.$targetWebp);
Run Code Online (Sandbox Code Playgroud)
我收到这个错误
致命错误:未捕获的 ImagickException:委托失败 `'cwebp' -quiet %Q '%i' -o '%o'' @ error/delegate.c/InvokeDelegate/1928 in /...dirs.../pic-upload .php:108 堆栈跟踪: #0 /...dirs.../pic-upload.php(108): Imagick->writeimage('webp:../images/...') #1
=================================================== =======
在我的本地计算机 OSX 中,使用 Mamp,在 @MarkSetcell 的帮助下解决了这个问题。
在 OSX 上 > 终端类型:cwebp -version webp 1.1.0
类型:类型 cwebp cwebp 已散列 (/usr/local/bin/cwebp)
标记解决方案> 有效!:) 在 macOS 上,您的 cwebp 似乎是 /usr/local/bin 中的自制程序,因此我建议您找到名为 delegates.xml 的 Imagick 配置文件并对其进行编辑,使其显示“cwebp”-quiet -q %Q '%I'...它变成 '/usr/local/bin/cwebp' …
更新日期
由于 Apple 是一家价值 2 万亿美元的公司,让我们尝试通过在此处提交错误报告来让他们解决此问题: https: //www.apple.com/feedback/safari.html
https://discussions.apple.com/thread/251753724?answerId=253364840022&page=1
在 Chrome 和 Firefox 中没有问题,但在 safari 中出现问题:
如果我将固定样式=“位置:固定”添加到外部div,那么它们的位置是正确的,但它们的大小仍然是safari中较小的那个。
我尝试将 Body 添加到对象的根目录中,但这只是让它们从 Safari 中完全消失。这篇文章也提到了这一点:
Safari 不考虑应用于foreignObject 的缩放
您可以非常清楚地听到 safari(新 ie)不尊重缩放
我正在使用paging3并且有两个不同的分页源。问题是Coroutine Scope只发出第一个分页流
在ViewModel我有两个分页流程
val pagingFlow1 = Pager(PagingConfig(pageSize = 50, prefetchDistance = 1)) {
pagingSource
}.flow.cachedIn(viewModelScope)
val pagingFlow2 = Pager(PagingConfig(pageSize = 50, prefetchDistance = 1)) {
pagingSource2
}.flow.cachedIn(viewModelScope)
Run Code Online (Sandbox Code Playgroud)
在活动中收集它们
lifecycleScope.launch(Dispatchers.IO) {
viewModel.pagingFlow1.collectLatest { pagingData ->
pagingAdapter.submitData(pagingData)
}
viewModel.pagingFlow2.collectLatest { pagingData ->
pagingAdapter2.submitData(pagingData)
}
}
Run Code Online (Sandbox Code Playgroud)
但lifecycleScope只能发出,pagingFlow1换句话说,分页只能在第一个 recyclerView 中起作用。
当我更改订单时,这次仅适用于pagingFlow2
lifecycleScope.launch(Dispatchers.IO) {
viewModel.pagingFlow2.collectLatest { pagingData ->
pagingAdapter.submitData(pagingData)
}
viewModel.pagingFlow1.collectLatest { pagingData ->
pagingAdapter2.submitData(pagingData)
}
}
Run Code Online (Sandbox Code Playgroud)
为了确保我用基本流程对其进行了测试并正常工作
// Flows in ViewModel
val testFlow1 …Run Code Online (Sandbox Code Playgroud) 我正在尝试将附加的 json 文件发送到电子邮件,但是由于某种原因,在发送/创建电子邮件时未附加 json 文件。注意:我不希望用户选择要附加的文件,我希望它自动固定/设置。
我有以下权限 AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)
和代码
private void backupJsonToEmail(String jsonString) {
// create file
if(!getFilesDir().exists()){
getFilesDir().mkdir();
}
String filePath = getFilesDir() + File.separator + BACKUP_NAME;
System.out.println("file path: " + filePath);
// /data/user/0/com.my.stuff/files/backup.json
try {
FileOutputStream fos = new FileOutputStream(filePath);
DataOutputStream outStream = new DataOutputStream(new BufferedOutputStream(fos));
outStream.writeBytes(jsonString);
outStream.close();
// send to email
try {
File file = new File(filePath);
long fileKbSize = file.length() / 1024;
System.out.println("FILE SIZE …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 GitHub Actions 上运行 JUnit 测试,但其中一些失败。本地所有测试均已通过。在我的 PC 上,我使用 Ubuntu 20.04 和 OpenJDK 1.8 (275),在 CI 上使用 OpenJDK 1.8(来自标准操作)。
java -version电脑输出:
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-0ubuntu1~20.04-b01)
OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)
java-versionGitHub 操作的输出:
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (Zulu 8.50.0.53-CA-linux64) (build 1.8.0_275-b01)
OpenJDK 64-Bit Server VM (Zulu 8.50.0.53-CA-linux64) (build 25.275-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)
测试断言:
@Test
public void test() {
assertEquals(
17,
new CountingSheep(
new Boolean[]{
true, true, true, false,
true, true, true, true, …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个以编程方式创建可变产品的 Wordpress 插件,但问题是,我想使用之前从管理仪表板手动定义的属性。我需要将属性分配给我正在创建的产品。
这是我正在使用的代码(不是我的,我从这个答案中得到它:以编程方式创建可变产品和 WooCommerce 中的两个新属性):
function addProduct(){
//Create main product
$product = new WC_Product_Variable();
//Create the attribute object
$attribute = new WC_Product_Attribute();
//pa_size tax id
$attribute->set_id( 0 ); // -> SET to 0
//pa_size slug
$attribute->set_name( 'Couleur' ); // -> removed 'pa_' prefix
//Set terms slugs
$attribute->set_options( array(
'Noir'
) );
$attribute->set_position( 0 );
//If enabled
$attribute->set_visible( 1 );
//If we are going to use attribute in order to generate variations
$attribute->set_variation( 1 );
$product->set_attributes(array($attribute)); …Run Code Online (Sandbox Code Playgroud) 我刚开始使用Flows. 我遇到的情况是,我需要在调用之前等待userLoginStatusChangedFlow收集readProfileFromFirestore()(这也会收集Flow)。第一个检查用户是否已登录 Firebase Auth,而第二个则从 Firestore 下载用户的个人资料信息。我的代码可以工作,但我不确定我是否按照预期的方式进行操作。
Flows问:这样“连锁”是标准做法吗?你会采取不同的做法吗?
init {
viewModelScope.launch {
repository.userLoginStatusChangedFlow.collect { userLoggedIn: Boolean? ->
if (userLoggedIn == true) {
launch {
readProfileFromFirestore()
}
} else {
navigateToLoginFragment()
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
readProfileFromFirestore()上面调用的方法:
// Download profile from Firestore and update the repository's cached profile.
private suspend fun readProfileFromFirestore() {
repository.readProfileFromFirestoreFlow().collect { state ->
when (state) {
is State.Success -> {
val profile: Models.Profile? = state.data
if (profile != null …Run Code Online (Sandbox Code Playgroud) 是否可以将从 SentenceTransformer 派生的句子表示解码回句子?
请参阅文档中的示例
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('paraphrase-MiniLM-L6-v2')
#Our sentences we like to encode
sentences = ['This framework generates embeddings for each input sentence',
'Sentences are passed as a list of string.',
'The quick brown fox jumps over the lazy dog.']
#Sentences are encoded by calling model.encode()
embeddings = model.encode(sentences)
Run Code Online (Sandbox Code Playgroud)
我想解码表示以获得句子
embedding = [[-1.76214352e-01 1.20600984e-01 -2.93624014e-01 -2.29858071e-01
-8.22928399e-02 2.37709314e-01 ... 3.39985073e-0]]
sentence = model.decode(embedding)
print(sentence)
Run Code Online (Sandbox Code Playgroud)
'This framework generates embeddings for each input sentence'
Run Code Online (Sandbox Code Playgroud)