小编Mir*_*ili的帖子

打字稿:TextNode的类型

如果你写下面的代码:

const e = document.body.firstChild;
if (e.nodeType === Node.TEXT_NODE)
    console.log(e.data);
Run Code Online (Sandbox Code Playgroud)

您将在以下位置收到此错误e.data

TS2339:“ChildNode”类型上不存在属性“data”。

而如果条件为真 ( e.nodeType === Node.TEXT_NODE) 则e除了常规ChildNode属性之外还有一些其他属性,例如datawholeText


我应该转换为什么类型(除了any)?

dom textnode dom-node typescript child-nodes

8
推荐指数
1
解决办法
1414
查看次数

无法解决:support-compat仅适用于:27.1.1

我有一个带有这个build.gradle文件的android模块:

apply plugin: 'com.android.library'

android {
        compileSdkVersion 27

        defaultConfig {
                minSdkVersion 14
                targetSdkVersion 27
                versionCode 1
                versionName "1.0.0"
        }
}

dependencies {
        implementation 'com.android.support:support-compat:27.1.1'
}
Run Code Online (Sandbox Code Playgroud)

并且在Gradle同步过程中收到此错误:

无法解决:support-compat

我使用的依赖项标识符完全符合https://developer.android.com/topic/libraries/support-library/packages#v4-compat(当我写这个问题时).

有趣的是,问题27.1.1在于版本!我测试的所有其他版本(24.2.0,26.0.0,27.0.0甚至27.1.0)都OK.

此外,我从此版本(27.1.1)测试的所有其他支持库都可以.这里列出了它们:

implementation 'com.android.support:appcompat-v7:27.1.1' 
implementation 'com.android.support:gridlayout-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:support-v4:27.1.1' 
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:support-annotations:27.1.1'
Run Code Online (Sandbox Code Playgroud)

Screanshot:

在此输入图像描述

如果我在app模块或library模块中插入依赖项没有区别.


我的项目级build.gradle文件:

buildscript {
    repositories {
        jcenter() …
Run Code Online (Sandbox Code Playgroud)

android android-support-library dependency-resolution gradle-dependencies

7
推荐指数
2
解决办法
3645
查看次数

6
推荐指数
1
解决办法
5119
查看次数

WebStorm:新的AngularCli项目:错误:目录应匹配格式"path"

当我尝试创建一个新的Angular Cli项目时:

在此输入图像描述

在IDE 执行命令几秒钟后收到此消息(在运行窗口中)ng new angularcli --dir=.:

"C:\Program Files\nodejs\node.exe" C:\Users\I\AppData\Roaming\npm\node_modules\@angular\cli\bin\ng new angularcli --dir=.
Error: Schematic input does not validate against the Schema: {"directory":".","name":"angularcli","skipGit":false,"style":"css","version":"1.7.3","commit":{"message":"chore: initial commit from @angular/cli\n\n    _                      _                 ____ _     ___\n   / \\   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|\n  / ? \\ | '_ \\ / _\\` | | | | |/ _\\` | '__|   | |   | |    | |\n / ___ …
Run Code Online (Sandbox Code Playgroud)

directory webstorm angular-cli

6
推荐指数
1
解决办法
3244
查看次数

Java:将String中的所有字符代码移动一个常量值

这有效:

for (char c : sourceString.toCharArray()) 
    destString += (char) (c + shiftValue);

System.out.println(destString);
Run Code Online (Sandbox Code Playgroud)

是否有更好/更快(优化)的方式?

java arrays string shift character-codes

5
推荐指数
2
解决办法
3661
查看次数

在XML drawable中使用主题引用需要API级别21

有没有办法使以下代码与较低的API级别兼容:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="?android:attr/selectableItemBackground"/>

    <item android:gravity="bottom">
        <shape android:shape="rectangle">
            <size android:height="1px"/>
            <solid android:color="#ccc"/>
        </shape>
    </item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)

部分:android:drawable="?android:attr/selectableItemBackground"产生此消息:

在XML drawable中使用主题引用需要API级别21(当前最小值为15)

android android-theme xml-drawable android-api-levels

5
推荐指数
1
解决办法
702
查看次数

Gradle / IntelliJ IDEA:sourceCompatibility 在 IDE 设置中恢复为以前的值

在我的 IntelliJ/Grade/Java 项目中设置sourceCompatibilitytargetCompatibilityJavaVersion.VERSION_11没有预期的效果。

即使我设置项目SDK项目语言水平项目结构手动11,之后我恢复了8和6 刷新摇篮项目(或导入的变化)。见下图:

在此处输入图片说明


确保我创建了一个新项目并在其中测试这些。这是它的树视图:

在此处输入图片说明

唯一的build.gradle文件:

plugins {
    id 'java'
}

group 'test'
version '1.0-SNAPSHOT'

sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
}
Run Code Online (Sandbox Code Playgroud)

Gradle 版本4.10.2与您在gradle-wrapper.properties文件中看到的一样

#Tue Nov 13 00:53:45 IRST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
Run Code Online (Sandbox Code Playgroud)

这是环境信息:

IntelliJ IDEA 2018.1.5 (Community Edition) …
Run Code Online (Sandbox Code Playgroud)

intellij-idea gradle java-8 source-compatibility java-11

5
推荐指数
1
解决办法
1350
查看次数

Java:不推荐使用`sun.awt.image`包吗?

我想要使​​用sun.awt.image.PNGImageDecoder在我的项目中使用的一些代码.问题是源代码基于Java 8和我的项目使用JDK 9+(11).所以我收到了这个错误:

包' sun.awt.image'在模块' java.desktop'中声明,它不会将其导出到未命名的模块.

import sun.awt.image.*,和:

符号在模块' java.desktop'中声明,它不导出包' sun.awt.image'

使用PNGImageDecoderImageDecoder

在寻找解决方案的一些努力之后,我发现了一些类似的情况,建议添加requires java.desktop;module-info.java文件(像这种情况这种情况).但是当我意识到这个解决方案只有在你的项目已经有一个module-info.java文件并且你遗漏了一个用过的模块时才有用.

我的项目已经没有此文件(请注意第一条错误消息中的" 未命名模块 ").据我所知,这意味着所有模块都是自动导入的.所以添加这个文件并添加该行没有任何影响,除了(更改错误消息和)导致我的代码的其他部分出现一些类似的问题(当然,这可以通过向module-info.java文件添加所需的模块来解决).

确保我在jmods文件夹(JDK 11)中导入了所有模块,但问题没有解决:

requires java.base;
requires java.compiler;
requires java.datatransfer;
requires java.desktop;
requires java.instrument;
requires java.logging;
requires java.management;
requires java.management.rmi;
requires java.naming;
requires java.net.http;
requires java.prefs;
requires java.rmi;
requires java.scripting;
requires java.se;
requires …
Run Code Online (Sandbox Code Playgroud)

java java-platform-module-system java-9 java-module module-info

5
推荐指数
2
解决办法
1193
查看次数

Javascript:在内部导出模块内的内容

在 Java 中,我们有 4 个可见性级别。除了public和 之外private,我们还有protected级别和默认级别(没有修饰符),也称为“package-local”或“package-private”

修饰符 班级 包裹 子类 世界
民众
受保护的 X
无修饰符 X X
私人的 X X X

请参阅:https ://www.programcreek.com/2011/11/java-access-level-public-protected-private/


我特别需要 Javascript 中的“包私有”级别。Javascript 模块有类似的方法吗?

我正在编写一个库(NPM包),并且我想要export一些东西(functionclass等),但不在模块的公共 API 中(由库的使用者使用)。只是为了在我的模块文件之间本地使用。

javascript module export package-private npm

5
推荐指数
1
解决办法
991
查看次数

Angular 6材质表粘贴标头不起作用

我需要将mat-table组件的Header固定在顶部,但这不起作用。

我有Angular v6.1.7和@ angular / material v6.4.7。

我在matHeaderRowDef上添加了“ sticky:true”属性,就像有人在这里提到的那样,但是它什么也没做:(

<tr mat-header-row *matHeaderRowDef="displayedColumns; sticky: true"></tr>
Run Code Online (Sandbox Code Playgroud)

我有这个示例项目:https : //stackblitz.com/edit/angular-wem2qa

这是我在TS文件上的导入:

import { Component, Input, OnChanges, OnInit, SimpleChanges, ViewChild } from "@angular/core";
import { MatDialog, MatExpansionPanel, MatSnackBar, MatSort, MatTableDataSource, Sort } from "@angular/material";
Run Code Online (Sandbox Code Playgroud)

material angular-material angular angular-material-6

3
推荐指数
1
解决办法
5617
查看次数