我想在网页上放置一个链接,打开与某个whatsapp联系人的whatsapp聊天.换句话说:我想要一个"通过whatsapp联系我"链接到页面旁边的"联系我们我的脸书/推特/谷歌+ /等"链接.就像是:
href="whatsapp:contact=015555555555@s.whatsapp.com&message="I'd like to chat with you"
Run Code Online (Sandbox Code Playgroud) 假设我有一个 JavaScript 类
/**
* @element my-element
*/
export class MyElement extends HTMLElement {
publicMethod() {}
/** @private */
privateMethod() {}
}
customElements.define('my-element', MyElement);
Run Code Online (Sandbox Code Playgroud)
以及使用declaration和生成的声明文件allowJs:
export class MyElement extends HTMLElement {
publicMethod(): void;
/** @private */
privateMethod(): void
}
Run Code Online (Sandbox Code Playgroud)
我还在构建后脚本中将其连接到声明文件:
declare global { interface HTMLElementTagNameMap { 'my-element': MyElement; } }
Run Code Online (Sandbox Code Playgroud)
在打字稿文件中使用此元素时,我可以privateMethod在自动完成中访问。
import 'my-element'
const me = document.createElement("my-element")
me.// autocompletes `privateMethod`
Run Code Online (Sandbox Code Playgroud)
如何指示tsc将使用@privateJSDoc 标记注释的任何方法、字段或属性标记为私有?
我是AngularJS的初学者.我有一个应用程序,它进行API调用,以获得汽车品牌,型号和年份的嵌套列表.我已经创建了三个ui-select元素来显示调用的结果,从汽车品牌列表开始,然后过滤到该品牌中的模型,最后是该模型的年份.我希望第二个和第三个选择在空时禁用,这样用户就无法尝试开始进入汽车模型.
<form class="form-horizontal" ng-controller="instant_quote" ng-submit="loadQuote()" name="quoteform">
<div class="form-group" id="Make">
<label for="Makes" class="col-md-3 control-label">Make</label>
<div class="col-md-9">
<ui-select
id="Makes"
ng-model="request.make">
<ui-select-match placeholder="Enter a Make…">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="choice in makes | filter: $select.search">
<div ng-bind-html="choice.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
</div>
</div>
<div class="form-group" id="Model">
<label class="col-md-3 control-label">Model</label>
<div class="col-md-9">
<ui-select
id="Models"
ng-model="request.model"
ng-disabled="request.make == 'false'">
<ui-select-match placeholder="Enter a Model…">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="choice in request.make.models | filter: $select.search">
<div ng-bind-html="choice.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我试图确定每个选择是否为空的方法,基于当ng-model被初始化时Angular ui-select占位符不起作用
我的所有输入都没有被禁用.
假设我有一个自定义元素定义,用带有 JSDoc 注释的 JavaScript 编写:
my-element.js:
/** @element my-element */
export class MyElement extends HTMLElement { }
customElements.define('my-element', MyElement);
Run Code Online (Sandbox Code Playgroud)
和一个声明文件,使用declarationand生成allowJs:
my-element.d.ts:
/** @element my-element */
export class MyElement extends HTMLElement { }
Run Code Online (Sandbox Code Playgroud)
我希望打字稿自动将元素添加到HTMLElementTagNameMap.
我当前的解决方法是使用构建后脚本将其连接到声明文件:
echo "declare global { interface HTMLElementTagNameMap { 'my-element': MyElement; } }" >> my-element.d.ts
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
我维护一个lerna / yarn monorepo。我正在将CI / CD从圈子迁移到新的GitHuba Actions发布beta。我创建了以下工作流程:
name: CD
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Checkout master
run: git checkout master
- name: Install rsync
run: sudo apt install rsync
- name: Install yarn
run: |
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install yarn
- name: Install Packages
run: yarn install
- name: Test
run: …Run Code Online (Sandbox Code Playgroud) 我正在尝试将malarkey实现为Angular2管道.这个想法是你将能够编写一个类似的表达式['foo','bar','baz'] | malarkey并获得打字效果.Malarkey需要选择父元素,所以我想设置我的管道以获取ElementRef并将选择器传递给malarkey:
import { Pipe, PipeTransform, ElementRef } from '@angular/core';
declare var malarkey: any;
@Pipe({
name: 'malarkey'
})
export class MalarkeyPipe implements PipeTransform {
...
elem: HTMLElement;
constructor(el: ElementRef) {
this.elem = el.nativeElement;
}
transform(value: [string], args?: {}): any {
if (!value) return value;
var elem = this.elem;
let opts = {
...
};
let act = malarkey(elem,opts);
return value.forEach(function(w) {
act.type(w).pause().delete();
});
}
}
Run Code Online (Sandbox Code Playgroud)
我得到一个例外:没有ElementRef的提供者!
这里发生了什么事?
我正在努力使我的网站更易于访问。我遇到的问题之一是文本/背景对比度。根据规范,可以放置一个启用高对比度模式的高对比度开关。为了满足这个要求,我想在我的网站上放置一个按钮或开关,当它被激活时,会触发一个功能,该功能扫描文档中的实例background:low-contrast并将该属性替换为background:high-contrast.
我已经完成了工作ng-class="{'high-contrast':highContrast}"和
<button
ng-controller="HighContrastController"
ng-click="$root.highContrast=!$root.highContrast"
class="high-contrast-switch">
<i class="fa text-white fa-adjust">
<span class="sr-only">High Contrast Mode</span>
</i>
</button>
Run Code Online (Sandbox Code Playgroud)
和
function HighContrastController($rootScope) {
$rootScope.highContrast = false;
}
Run Code Online (Sandbox Code Playgroud)
但我想我更愿意在控制器中完成这一切,这将使我能够在全局范围内对所有视图应用高对比度,而不会使逻辑混乱。
我可以做到的一种方法是忘记high-contrast课程,然后申请light和dark课程。当通过控制器加载时,highcontrast.css 会将高对比度颜色应用于这些类。有没有角度的方法来做到这一点,还是我应该依靠常规的 javascript 来加载 highcontrast.css?
javascript ×3
angularjs ×2
jsdoc ×2
typescript ×2
.d.ts ×1
angular ×1
css ×1
github ×1
html ×1
lerna ×1
private ×1
ui-select ×1
url-scheme ×1
web ×1
whatsapp ×1