小编a b*_*ver的帖子

在section元素加载完成后捕获事件

我有一个包含部分的div:

<div class="Placeafterthis">
</div>
...
<div class="k-content">
<section class="rbs-section" id="id1" name="">
.. // section content
</section>
<section class="rbs-section" id="id2" name="">
.. // section content
</section>
<section class="rbs-section" id="id3" name="">
.. // section content
</section>
</div>
Run Code Online (Sandbox Code Playgroud)

现在,基本上这些部分在DOM准备好时加载.有没有办法可以检查特定部分何时完成加载?一旦完成加载,我需要克隆该部分并将其放置在"Placeafterthis"div之后.有关如何实现这一目标的任何建议?

html javascript jquery kendo-ui

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

是否可以在Js中使用await而不使用异步

等待是es7的一个惊人功能.

但是,每当我使用await时,我发现我必须定义一个异步函数并调用此函数.

    async function asy(){
        const [resCityGuess,resCityHot,resCityAll]=await Promise.all([
                        this.http.get('api/v1/cities?type=guess'),
                        this.http.get('api/v1/cities?type=hot'),
                        this.http.get('api/v1/cities?type=group')
        ])
        this.cityGuessName=resCityGuess.data.name;
        this.cityGuessId=resCityGuess.data.id;
        this.cityHot=resCityHot.data;
        this.cityAll=resCityAll.data;
    }
    asy.apply(this);
Run Code Online (Sandbox Code Playgroud)

我想要的是使用等待没有异步功能,如

        // the async function definition is deleted
        const [resCityGuess,resCityHot,resCityAll]=await Promise.all([
                        this.http.get('api/v1/cities?type=guess'),
                        this.http.get('api/v1/cities?type=hot'),
                        this.http.get('api/v1/cities?type=group')
        ])
        this.cityGuessName=resCityGuess.data.name;
        this.cityGuessId=resCityGuess.data.id;
        this.cityHot=resCityHot.data;
        this.cityAll=resCityAll.data;
        // without call fn
Run Code Online (Sandbox Code Playgroud)

我想定义函数fn并调用此fn有时会重复,所以我想知道是否可以优化这种情况?

我可以使用await而不是异步吗?

非常感谢!

html javascript asynchronous ecmascript-2017

10
推荐指数
3
解决办法
6919
查看次数

用于JS装饰器的ESLint意外字符'@'

我正在尝试在我的JS项目中使用装饰器,但是ESLint正在抛出一个错误,指出@符号是一个意外的字符.

我的代码:

@observable items = [];
Run Code Online (Sandbox Code Playgroud)

我的.eslintrc:

{
    "parserOptions": {
            "ecmaVersion": 6,
            "ecmaFeatures": {
                "jsx": true
            },
            "sourceType": "module"
    },
    "env": {
            "browser": true,
            "node": true,
            "es6": false
    },
    "ecmaFeatures": {
            "modules": true
    },
    "rules": {
        "strict": [
            2,
            "global"
        ],
        "quotes": [
            2,
            "single"
        ],
        "indent": [
            2,
            4
        ],
        "eqeqeq": [
            2,
            "smart"
        ],
        "semi": [
            2,
            "always"
        ],
        "max-depth": [
            2,
            4
        ],
        "max-statements": [
            2,
            15
        ],
        "complexity": [
            2,
            5
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript eslint ecmascript-next

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

JQuery表单插件文件上传使用POST重定向到POST响应

请帮帮忙,这个是一个主要的BLOCKER!

我有一个使用NodeJS + jQuery Form Plugin + Typescript的项目,我正在尝试上传文件.文件上传后,服务器会向POST消息发送响应,该消息在屏幕上呈现.在POST响应呈现在屏幕上之前,文件确实已成功上传.我希望POST响应调用"成功"函数,而不是重定向页面以显示JSON响应.

这是代码:

$(new ID().setAsRoot().selectId()).append(
    "<form id=\"fileUploadForm\" accept-charset=\"utf-8\" method=\"post\" action=\"/upload\" enctype=\"multipart/form-data\">" +
        "<input id = \"filename\" type=\"file\" name=\"userfile\" multiple=\"multiple\" />" +
        "<button type=\"submit\" id = \"submitButton\"> Upload </button></form>");

var form = $("#fileUploadForm");
form.submit(function (e) {
    //e.preventDefault();
    this.ajaxSubmit({
        type: form.attr('method'),
        url: form.attr('action'),
        data: form.serialize(),
        success: function (data) {
            var x = JSON.parse(data);
            alert("Success : " + x);
        },
        error: function (data) {
            var x = JSON.parse(data);
            alert("Error : " + x);
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

不会调用success函数(这意味着警报消息不会显示).JSON数据只是在屏幕上呈现如下: …

jquery post jquery-forms-plugin

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

在 @Size 中使用 Spring @Value

我正在使用 Spring Boot 和 javax 验证,特别是 @Size。我试图从 application.properties 文件中获取大小限制的值:

@Size(min= @Value("${device.name.minsize}"), max=@Value("${device.name.maxsize}"))
private String name;
Run Code Online (Sandbox Code Playgroud)

但我收到以下编译时错误:

错误:(26, 16) java:注释对于 int 类型的元素无效

为了解决这个问题,我正在尝试以下操作:

@Size(min=Integer.parseInt( @Value("${device.name.minsize}") ), max=Integer.parseInt( @Value("${device.name.maxsize}") ) )
Run Code Online (Sandbox Code Playgroud)

但这也有多个错误。

如何正确转换@Value注解?我是否走错了路?我正在寻找一种干净的方法,将大小限制从代码中拉出来并放入我可以访问服务器端和模板化的 AngularJS/html 中的配置中。

java validation spring spring-boot

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

实现用于链接类方法的 JS 装饰器

我怎样才能实现一个装饰器,使一个类的所有方法都可以自动链接?

我有以下课程:

class MyClass {
  async foo() { console.log(1); }
  async bar() { console.log(2); }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够做到以下几点:

@chainableMethods
class MyClass {
  ...
}

const myInstance = MyClass();

myInstance
  .foo()
  .bar();
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-next

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

使用jQuery循环遍历嵌套对象

嘿大家我试图找到最有活力的循环数组方式并返回特定值返回特定值... json结构深刻,可能会改变,是否有一个$ .each()公式可以帮助?

例:

var myobj = {
    obj1: { key1: 'val1', key2: 'val2' },
    obj2: { key1: '2val1', 
           key2: { nest1: 'val1', nest2: 'val2', nest3: 'val3' }, 
           key3: { nest1: 'K3val1', nest2: 'K3val2', 
                 nest3: [
                         { nest1: 'val1', nest2: 'val2', nest3: 'val3' }, 
                         { nest1: 'val1', nest2: 'val2', nest3: 'val3' }
                        ]
                 }
          },
    obj3: { key1: 'dddddval1', key2: 'val2' }
    }
Run Code Online (Sandbox Code Playgroud)

现在让我说我想要检索" K3val2"值而不是硬编码它是这样的:myobj.obj2.key3.nest2我用$.each()mybe 做一个动态的方法吗?

javascript jquery

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

如何使用ES6箭头函数从jQuery on()事件中获取元素?

在使用ES6箭头函数之前,如果我想从jQuery on()单击事件中获取元素,那么我可以执行以下操作:

$(document).on('click', '.inserted-el', function(event) {
    console.log(this);
});
Run Code Online (Sandbox Code Playgroud)

但是,使用箭头功能,我无法再this以这种方式访问.如何获取所点击的元素?

javascript jquery ecmascript-6

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

如何等待异步函数?

我的情况:

let waiting = function () {
  return new Promise(resolve => {
    console.log('awaiting...');
    
    setTimeout(function () {
      resolve();
    }, 1000)
  });
};

let waitingAsync = async function () {
  console.log('start...');

  await waiting();

  console.log('stop...');
};

waitingAsync();
console.log('done...');
Run Code Online (Sandbox Code Playgroud)

代码中有两件事我不明白:

首先:

await waiting();
Run Code Online (Sandbox Code Playgroud)

waiting是一个同步函数(因为它没有async关键字)。那么,为什么我可以等待一个同步函数呢?

第二:

为什么done...完成waitingAsync功能后不能等待消息?

主要问题:waitingAsync是一个异步函数,为什么await调用它时不需要关键字?只是waitingAsync()代替await waitingAsync().

如果我可以 await waitingAsync()done...消息将最后打印。

javascript asynchronous ecmascript-2017

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

我想从我的angular 2应用程序中的服务执行重定向

我正在学习角度2,并且尝试创建一种方案,在该方案中向用户显示主页,并使用Auth0登录到我的应用程序,之后我希望用户从身份验证服务中重定向到仪表板页面。

import { Injectable }      from '@angular/core';
import { tokenNotExpired } from 'angular2-jwt';
import { myConfig }        from './auth.config';
import {Router} from "@angular/router";

// Avoid name not found warnings
declare var Auth0Lock: any;

@Injectable()
export class Auth {
  // Configure Auth0
  lock = new Auth0Lock(myConfig.clientID, myConfig.domain, {});

  constructor(private router:Router) {
    // Add callback for lock `authenticated` event
    this.lock.on('authenticated', (authResult) =>
    {
        this.lock.getProfile(authResult.idToken,function (error: any, profile: any)
        {
          if(error)
          {
            throw new Error;
          }
          localStorage.setItem('id_token', authResult.idToken);
          localStorage.setItem('profile', JSON.stringify(profile));
          this.router.navigate(['/dashboard']);
        });


    }); …
Run Code Online (Sandbox Code Playgroud)

auth0 angular

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