小编Yas*_*nik的帖子

如何从指令更新ngModel?

我创建了一个指令来限制input字段的长度type=number

//输入

<input min="1" appLimitTo [limit]="5" type="number" name="property" [(ngModel)]="property">
Run Code Online (Sandbox Code Playgroud)

//指令

import {Directive, HostListener, Input} from '@angular/core';

@Directive({
  selector: '[appLimitTo]',
})
export class LimitToDirective {

    @Input() limit: number;
    @Input() ngModel: any;

    @HostListener('input', ['$event'])
    onInput(e) {
        if (e.target.value.length >= +this.limit) {
            e.target.value = (e.target.value).toString().slice(0, this.limit - 1);
            e.preventDefault();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我们通过键盘输入值,则效果很好。但是,如果我复制并粘贴12345678913465789此数字,则会出现问题,该行将其e.target.value = (e.target.value).toString().slice(0, this.limit - 1);缩短到极限,但ngModel仍然包含12345678913465789值。如何更新此ngModel值?

请帮忙。

PS-我应该在指令中添加些什么以满足要求?

input dom-events angular2-directives angular

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

如何从单选按钮角度获取检查值

我需要从单选按钮中获取价值。假设具有以下html代码:

 <label class="radio-inline">
   <input class="form-check-input" type="radio" [(ngModel)]="dog" name="gob" value="i" [checked]="true" (change)="onItemChange(item)"/>Dog
 </label>
 <label class="radio-inline"> 
   <input class="form-check-input" type="radio" [(ngModel)]="cat" name="cat" value="p"  (change)="onItemChange(item)"/>Cat
 </label>
Run Code Online (Sandbox Code Playgroud)

在我的ts页面中,我需要获取单选按钮的值,例如

dog.value
Run Code Online (Sandbox Code Playgroud)

我的目的是:

  1. 将默认设置为第一个单选按钮
  2. 单击单选按钮获取值

有人可以帮助我吗?

angular angular6

3
推荐指数
2
解决办法
9515
查看次数

在 Angular 中监听自定义 DOM 事件

我使用了一个 Angular 库,它有一个组件,它使用 CustomEvents 来调度一些东西,就像这样:

const domEvent = new CustomEvent('unselect', {
   bubbles: true
});
 this.elementRef.nativeElement.dispatchEvent(domEvent);
Run Code Online (Sandbox Code Playgroud)

如何在父组件中收听此事件?

我知道这是不鼓励的,我通常应该使用EventEmitters. 但是我无权覆盖子组件并且没有@Output定义事件。所以这是我唯一可以使用的东西。

html javascript typescript angular

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

Angular 2指令错误

我正在使用最终的Angular 2发行版.我已经设置了官方网站angular 2 quickstart中提到的启动文件.在我的app.component.ts文件中,我制作了2个组件.代码如下所示: -

    import { Component, OnInit} from '@angular/core';

@Component({
    selector: 'demo',
    template:`
        <h2>Hi, demo !!</h2>
    `
})

export class DemoComponent implements OnInit{
    constructor(){}

    ngOnInit(){

    }
}

@Component({
  selector: 'my-app',
  template: `<h1>My First Angular 2 App</h1> 
    <demo></demo>
    `

})
export class AppComponent implements OnInit{ 
    constructor(){}
    ngOnInit(){

    }
}
Run Code Online (Sandbox Code Playgroud)

my-app的组件中,使用了指令选择器,它是一个数组.但编辑器(VS Code)显示错误.chrome控制台抛出错误,告诉 模板解析错误:'demo'不是已知元素: Chrome控制台

请帮我解决这个问题.谢谢

这是我的app.module.ts文件

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent …
Run Code Online (Sandbox Code Playgroud)

angular2-directives angular2-components angular

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

角度4与ngx无限滚动

我想在我的Angular 4项目中添加一个带有ngx-infinite-scroll的无限滚动.

阵列数据有大约800个来自API的帖子.

最初,我想显示20个帖子,每次滚动页面时,都会显示20个帖子.

目前,每当我向下滚动时,我都可以看到控制台日志消息(滚动!).

但是当我滚动它时,我无法弄清楚如何将20个帖子附加到表中.

这是我正在尝试的代码.

onScrollDown函数

onScrollDown(){        
  this.dataService.getPosts().subscribe((posts)=>{
      for (let post of posts){
       let data = '<tr><td>'+ post.title +'</td><td>'+ post.geo +'</td><td>'+ post.Telephone +'</td><td>'+ post.category +'</td><td>Detail</td></tr>';
       $('table.feed tbody').append(data);
      }
});
Run Code Online (Sandbox Code Playgroud)

.

这是组件代码.
posts.component.html

    <div *ngIf="posts?.length > 0;else noPosts" class="search-results" infinite-scroll [infiniteScrollDistance]="2" [infiniteScrollUpDistance]="2" [infiniteScrollThrottle]="50" (scrolled)="onScrollDown()" [scrollWindow]="false">
        <table class="responsive-table feed striped">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>State/City</th>
                    <th>Phone</th>
                    <th>Category</th>
                    <th></th>
                </tr>
            </thead>
            <tbody>
                <tr *ngFor="let post of posts | filter:term">
                    <td>{{post.title}}</td>
                    <td>{{post.geo}}</td>
                    <td>{{post.Telephone}}</td>
                    <td>{{post.category}}</td>
                    <td>Detail</td>
                </tr> …
Run Code Online (Sandbox Code Playgroud)

javascript infinite-scroll angularjs nginfinitescroll

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

我的 Angular 5 Pipe“trim”没有被调用,为什么?

我创建了一个Pipe名为trim. 此管道旨在从字符串中删除最后一个字符。这是我的管道类TrimPipe。在 HTML 中使用管道时,控制台不会记录这些值。这里的 HTML 用法 -

<ng-container *ngFor="let bg of backgrounds.preferred">
       <span>{{bg.name ? (bg.name + ', ') : '' | trim}}</span>
   </ng-container>
Run Code Online (Sandbox Code Playgroud)
import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'trim'
})
export class TrimPipe implements PipeTransform {

  transform(value: any, args?: any): any {
    console.log(value, args, 'Pipes');
    return value.toString().substring(0, value.length - 1);
  }

}
Run Code Online (Sandbox Code Playgroud)

我的app.module.ts档案——

import {BrowserModule} from '@angular/platform-browser';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {NgModule} from '@angular/core';
import {FormsModule} from …
Run Code Online (Sandbox Code Playgroud)

pipe angular-pipe angular

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

是否可以将变量放在GraphQL标签内?

现在我在下面有这个标签。它是静态的,将始终获得ID为3的注释。是否有可能在此graphQL-tag中放入变量。因此,我可以重新使用graphQL-tag,仅更改变量ID?

export const GET_COMMENTS: any = gql`
    {
        comments(id: 3) {
            userId,
            text,
            creationDate,
      }
    }
`;
Run Code Online (Sandbox Code Playgroud)

提前致谢!

graphql graphql-js graphql-tag

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

AWS DynamoDB 限制写入请求处理

我有一个在指定时间限制写入请求的表。我想更多地了解 AWS-SDK 如何处理它们。

根据我目前的理解,DynamoDB 将向我的 Lambda 返回错误。这就是为什么我会在 DynamoDB 表指标中出现用户错误。但是,AWS-SDK 具有错误处理和重试策略,可以帮助我重试并将受限制的请求写回表中。这是对的吗?

amazon-web-services amazon-dynamodb aws-lambda

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

API 不工作/http 错误 SocketException: 发布版本中的主机查找失败(在调试模式下工作)对于 Flutter

获得一些关于 path_provider-1.5.1 和 API 不工作的注意事项,我通过 http/dio 在 Release Build(在调试模式下工作)为 Flutter 集成。

注意:/home/webelightpc/Documents/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.5.1/android/src/main/java/io/flutter/plugins/pathprovider/PathProviderPlugin.java 使用或覆盖已弃用的 API。注意:使用 -Xlint:deprecation 重新编译以获取详细信息。注意:某些输入文件使用或覆盖已弃用的 API。注意:使用 -Xlint:deprecation 重新编译以获取详细信息。

我

dart flutter

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

如果设置 io.flutter.embedded_views_preview 为 true,则无法正常运行 flutter 项目

Flutter(通道大师,v1.9.1-pre.58)

我编写了一个自定义本机视图并通过 flutter 嵌入视图使用它。然后我设置io.flutter.embedded_views_previewtruein Info.plist。它在 iOS 模拟器中运行良好,但当我在 iPhone 上运行时,只显示黑屏。当我删除 io.flutter.embedded_views_preview时它可以显示其他小部件Info.plist,但这也导致嵌入视图无法显示。

ios flutter

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