考虑以下SCSS:
$color-black: #000000;
body {
--color: $color-black;
}
Run Code Online (Sandbox Code Playgroud)
当使用node-sass 版本4.7.2进行编译时,它会生成以下CSS:
body {
--color: #000000;
}
Run Code Online (Sandbox Code Playgroud)
当我使用4.8.3或更高版本编译相同的SCSS时,它产生以下内容:
body {
--color: $color-black;
}
Run Code Online (Sandbox Code Playgroud)
我错过了什么?我检查了发布日志,但找不到任何有用的东西.另外,我想知道这种变化是否真实,为什么它只有轻微的版本更改?它应该不是主要版本吗?
另外,我的替代方案是什么?我应该使用插值吗?
考虑以下Vue.js代码:
<template>
<form @input="doSomethingOnInput">
<!-- Native form control -->
<input v-model="title" type="text" />
<!-- VUE.JS COMPONENT -->
<!-- Custom form control -->
<date-picker v-model="expiryDate"></date-picker>
<!-- VUE.JS COMPONENT -->
<!-- Another custom form control -->
<color-picker v-model="badgeColor"></color-picker>
</form>
</template>
Run Code Online (Sandbox Code Playgroud)
我有一个包含三个输入元素的表单。一个是本机输入元素,而其余两个是自定义输入元素。本机<input>激发input事件,使DOM树冒泡。
对于<date-picker>和<color-picker>本地input事件不会创建。但是,为了支持v-model,input始终会触发自定义事件。现在,我知道如何input从这些自定义元素中触发本机事件。
问题是-我应该从这些自定义输入元素中触发本机输入事件吗? 作为可重用组件库的作者,我的用户可能想抓住input事件的顶部,即<form>我所展示的元素。 Vue.js是否建议这样做?并会引起任何无法预料的问题吗?
我目前正在为下一个项目使用Svelte 3探索Bucklescript / ReasonML。典型的Svelte组件是一个.svelte文件:
<script>
let name = 'world';
</script>
<h1>Hello world!</h1>
Run Code Online (Sandbox Code Playgroud)
取而代之的是,我可以script使用带有src或等效标记的代码将JS代码保存在单独的文件中吗?
<script src='./some-file.js'></script>
Run Code Online (Sandbox Code Playgroud)
通过将js代码移动到单独的文件中,可以将Bucklescript编译器的目标(是JS文件)用于该组件。
Vue.js的SFC .vue文件已支持此功能。
附带说明:我可以为此使用Vue.js,但是存在虚拟DOM对于遗留代码库是有问题的。而且,Svelte在运行时正在减少,因此非常可取。另外,
this在Vue中使用该功能会使Ocaml / Reason感到尴尬。
我注意到模块增强的行为非常奇怪。我的文件夹中有一个agument.d.ts文件,src即<ROOT>/src/augment.d.ts. 在此文件中,我正在为 Webpack 创建一个模块raw-loader,并增强现有hapi模块。代码如下所示:
import { Server } from 'hapi';
declare module '*.view.html' {
const contents: string;
export default contents;
}
declare module 'hapi' {
interface Server {
x: string;
}
}
Run Code Online (Sandbox Code Playgroud)
在我的tsconfig.json文件中,我使用 的默认值typeRoots。我的include设置为["src/**/*.ts"],.
问题是- 我注意到模块增强 forhapi有效,但不适用于*.view.html; 编译器不断为与文件关联的所有导入抛出错误html。
然而,奇怪的行为是当我将定义移动*.view.html到其他文件即 -xyz.html.d.ts时,它就可以完美工作。
这是预期的行为吗?我们是否应该为每个声明文件添加一个模块?任何我不知道的规则!
我正在创建一个按钮组件,用于aria-disabled管理禁用状态而不是disabled属性来满足可访问性要求。
早些时候,我使用 CSS 伪类:disabled来设置禁用组件的样式。有没有办法使用它来aria-disabled="true"设置按钮和aria-*属性的样式?
设想:
GenServer的管理一些状态。map来管理我的 state。但随着我向该州添加更多数据,它正在增长。问题:
struct我的GenServer模块中可以有 a吗?正如问题的标题所示,CSS calc()功能支持fr单元是否在以下示例中使用?
.sample-grid {
--main-fr: 60fr;
grid-template-columns: var(--main-fr) 1rem calc(100 - var(--main-fr));
}
Run Code Online (Sandbox Code Playgroud)
我最初的猜测是它没有 - 在Firefox和Chrome中都没有.
我开始使用Elixir.我读到Elixir具有弱相等==和严格相等===运算符.
来自JavaScript背景,==感觉像是一个大错误.Elixir有什么不同吗?我错过了什么?什么时候我应该在Elixir中分别使用弱强算子?
到目前为止,我知道,在Elixir的JavaScript "1" == 1收益率true中它会产生false.这意味着至少保留了类型信息.如果是这样,那么弱平等的用途是什么?
我注意到ReasonML中的类型推断机制非常奇怪的行为。我有一条包含识别功能的记录。当我直接使用记录实例时,编译器不会抱怨。但是,当我将记录传递给另一个函数并尝试调用标识函数时,则键入推断会抱怨:
type idRecord('a) = {
// idFn can take any type.
idFn: 'a => 'a
};
let myRecord: idRecord('a) = {
idFn: anyVal => anyVal
};
// WORKS ABSOLUTELY FINE
let x1 = myRecord.idFn(10);
let x2 = myRecord.idFn("Something");
let runProgram = (program: idRecord('a)) => {
let _y1 = program.idFn(10);
// BOOM: ERROR
// This expression has type string but an expression was expected of type int
let _y2 = program.idFn("Something");
}
runProgram(myRecord);
Run Code Online (Sandbox Code Playgroud)
错误是:
该表达式的类型为字符串,但预期为int类型的表达式
我需要怎样使类型推断高兴地接受任何类型的参数?
是否可以实例化Web组件而无需将其注册到 CustomElementRegistry?考虑一个简单的组件:
export class MyCustomElm extends HTMLElement {
constructor() {
super();
this.attachShadow({ mode: 'open' });
}
connectedCallback() {
this.shadowRoot!.innerHTML = `
<div>Hello world</div>
`;
}
}
// Is it really required?
customElements.define('my-custom-elm', MyCustomElm);
Run Code Online (Sandbox Code Playgroud)
我正在使用故事书来构建Web组件库。所有示例/演示都是Web组件。该代码将始终使用构造函数语法,即new MyCustomElm()初始化组件。永远不会通过纯HTML使用它。
我试图不注册该元素,但它似乎不起作用。如果在不注册组件的情况下调用了构造函数,则会引发异常。由于演示组件很多,因此想出唯一的名称很快变得很麻烦。
或者,是否有任何方法可以将Storybook用于Web组件,而不必为故事设置额外的Web组件? (我尝试了DOM操作,但它也一发不可收拾。)
css ×3
javascript ×3
elixir ×2
html ×2
css-grid ×1
css3 ×1
gen-server ×1
ocaml ×1
polymorphism ×1
reason ×1
sass ×1
svelte ×1
types ×1
typescript ×1
vue.js ×1
vuejs2 ×1