小编Nem*_*a G的帖子

将顶部和左侧设置为ViewChild元素?Angular 4

我需要将offesetTop和offsetLeft设置为我的viewchild元素,以将其定位在另一个元素的悬停上.这是一个工具提示,所以这就是我尝试过的:

<div (mouseover)="showPopup($event, price)"></div>
<div #tooltip>Some text</div>
Run Code Online (Sandbox Code Playgroud)

这是我的div,在TS里面我有:

@ViewChild('tooltip') tooltip: ElementRef;

showPopup(event, price) {

    price.show = true;
    this.tooltip.nativeElement.offsetTop = event.target.offsetTop;
    this.tooltip.nativeElement.offsetLeft = event.target.offsetLeft;
  }
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

无法分配给对象'[object HTMLDivElement]'的只读属性'offsetTop'.有什么建议?

angular

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

每60秒更新一次数据-Vanilla JS SPA

我有一个呈现一些html的函数,我不知道如何在这里调用setInterval函数,每60秒调用一次render func。

const Home = {

    render: async () => {
        const cryptos = await getAllCryptos();

        const view = `
            <section class="section">
                <table>
                    ${cryptos.data.map(crypto =>
                        `<tr>
                            <td class="name"><a href="/src/#/crypto/${crypto.id}">${crypto.name}</a> </td>
                            <td>${crypto.symbol}</td>
                            <td>${crypto.quote.USD.price}</td>
                            <td>${crypto.quote.USD.percent_change_24h}</td>
                        </tr>`
                        )}
                    </table>
                </section>
        `;
        return view
    }
};

export default Home;
Run Code Online (Sandbox Code Playgroud)

我真的不能把render函数放进去setInterval,所以我想知道最好的方法是什么?

javascript

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

正则表达式检查字符串中的 3 个相同字母?

我需要创建正则表达式,无论顺序如何,它都会在字符串中查找 3 个相同的字母。

例子:

'aa2ff333' -> false
'aa2a' -> true
'aaa2' -> true
Run Code Online (Sandbox Code Playgroud)

我试过这个,但它检查连续的字母:

(.)\1\1
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

javascript regex

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

检查窗口大小Angular 2

我需要检查窗口大小,如果它是<1400 px(笔记本电脑),最好的方法是什么?

如果它小于1400,我想将变量设置为true,例如.

angular-components angular

0
推荐指数
1
解决办法
9232
查看次数

getMonth抛出错误的月份(81)-Angular 6

我正在尝试获取日期的月份,但它一直向我显示:"2018-81-26 07:00"..这是我用来设置所需日期的函数:

selectStartTime(time) {
      this.selectedTime = '' + time.time + ' ' + time.period;

      var date = new Date(this.start_at); // this shows good date: 
      //Wed Sep 26 2018 00:00:00 GMT+0200 (Central European Summer Time)

      var period = time.period;
      var hours = '';

// error occurs here:
      var year = date.getFullYear() + '-' + date.getMonth()+1 + '-' + date.getDate();
// year: 2018-81-26 07:00



      if (period === 'PM') {
          hours = '' + (time.value + 12) + ':00';
          this.campaignModel.starts_at = …
Run Code Online (Sandbox Code Playgroud)

javascript angular

0
推荐指数
1
解决办法
537
查看次数

上传时检查视频长度 - Angular

我正在尝试检查我上传的视频是否超过 30 秒,但无法获得我需要的示例。这是我到目前为止检查大小和其他一些事情的代码:

readVideoUrl(event: any) {
      this.videoFile = [];
        const eventObj: MSInputMethodContext = <MSInputMethodContext> event;
        const target: HTMLInputElement = <HTMLInputElement> eventObj.target;
        const files: FileList = target.files;
        if (files) {
            this.videoFile.push(files[0]);
            this.videoModel.name = files[0].name;
        }


        if (event.target.files && event.target.files[0]) {
            let reader = new FileReader();

            reader.onload = (event: ProgressEvent) => {
                this.videoUrl = (<FileReader>event.target).result;
            };

            reader.readAsDataURL(event.target.files[0]);
        }

        const FileSize = files[0].size / 1024 / 1024; // in MB
        if (FileSize > 50) {
            this.videoSizeError = true;
        } else {
            this.videoSizeError = …
Run Code Online (Sandbox Code Playgroud)

javascript angular

0
推荐指数
1
解决办法
2961
查看次数

对数组进行排序的最小交换次数

我需要做这样的事情:假设我有一个数组:

 [3, 4, 1, 2]
Run Code Online (Sandbox Code Playgroud)

我需要交换 3 和 4,以及 1 和 2,所以我的数组看起来像[4, 3, 2, 1]. 现在,我可以只做sort(). 在这里我需要计算我需要多少次迭代,将初始数组更改为最终输出。例子:

// I can sort one pair per iteration
let array = [3, 4, 1, 2, 5]
let counter = 0;

//swap 3 and 4
counter++;
// swap 1 and 2
counter++;
// 5 goes to first place
counter++

// now counter = 3 <-- what I need
Run Code Online (Sandbox Code Playgroud)

编辑:这是我尝试过的。并不总是有效...它来自这个问题:Bubble sort algorithm JavaScript

let counter = 0;
    let swapped;
    do …
Run Code Online (Sandbox Code Playgroud)

javascript arrays

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

标签 统计

javascript ×5

angular ×4

angular-components ×1

arrays ×1

regex ×1