小编Ben*_*ers的帖子

指向特定whatsapp联系人的Web链接

我想在网页上放置一个链接,打开与某个whatsapp联系人的whatsapp聊天.换句话说:我想要一个"通过whatsapp联系我"链接到页面旁边的"联系我们我的脸书/推特/谷歌+ /等"链接.就像是:

href="whatsapp:contact=015555555555@s.whatsapp.com&message="I'd like to chat with you"
Run Code Online (Sandbox Code Playgroud)

html url-scheme web whatsapp

71
推荐指数
9
解决办法
17万
查看次数

如何使用 JSDoc Typescript 声明隐藏“私有”方法?

假设我有一个 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 标记注释的任何方法、字段或属性标记为私有?

javascript private jsdoc typescript .d.ts

8
推荐指数
2
解决办法
1305
查看次数

ui-select禁用,如果为空

我是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占位符不起作用

我的所有输入都没有被禁用.

angularjs ui-select

7
推荐指数
1
解决办法
1万
查看次数

JSDoc Typescript 声明:如何自动注册自定义元素?

假设我有一个自定义元素定义,用带有 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)

有一个更好的方法吗?

javascript jsdoc typescript custom-element

7
推荐指数
0
解决办法
424
查看次数

如何设置GitHub操作以发布Lerna Monorepo

我维护一个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)

github lerna github-actions

6
推荐指数
2
解决办法
649
查看次数

在管道中使用ElementRef

我正在尝试将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的提供者!

这里发生了什么事?

angular

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

从角度控制器有条件地加载 css

我正在努力使我的网站更易于访问。我遇到的问题之一是文本/背景对比度。根据规范,可以放置一个启用高对比度模式的高对比度开关。为了满足这个要求,我想在我的网站上放置一个按钮或开关,当它被激活时,会触发一个功能,该功能扫描文档中的实例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课程,然后申请lightdark课程。当通过控制器加载时,highcontrast.css 会将高对比度颜色应用于这些类。有没有角度的方法来做到这一点,还是我应该依靠常规的 javascript 来加载 highcontrast.css?

javascript css accessibility angularjs

2
推荐指数
1
解决办法
193
查看次数