小编Pas*_*uby的帖子

Angular 2 - 表单在浏览器自动填充时无效

我有一个登录表单,其中包含电子邮件和密码字段.

我选择了浏览器自动填充功能.

问题是:当浏览器自动填充登录表单时,这两个字段都是原始且未触及的,因此禁用了提交按钮.

如果我单击禁用按钮,它会启用并触发提交操作,这很好.但是默认的禁用方面非常糟糕,可能会让一些用户感到失望.

你有一些关于如何处理的想法吗?

angular2-forms angular

21
推荐指数
2
解决办法
5045
查看次数

实施ControlValueAccessor的Angular 2指令不会在更改时更新"已触摸"属性

我正在尝试为Jquery UI Datepicker创建自己的Angular 2指令.我在互联网上看到了一些不同的方法,但也没有人达到我想要的目标.所以这是我到目前为止的代码:

import {Directive, ElementRef, Input, forwardRef} from '@angular/core';
import {ControlValueAccessor, NG_VALUE_ACCESSOR} from "@angular/forms";

declare  var $:any;

@Directive({
  selector: '[date-picker]',
  providers: [{
    provide: NG_VALUE_ACCESSOR,useExisting:
      forwardRef(() => DatePickerDirective),
    multi: true
  }]
})
export class DatePickerDirective implements ControlValueAccessor {
  private value: string;

  @Input('changeMonth') changeMonth:boolean = true;
  @Input('changeYear') changeYear:boolean = true;

  constructor(private el: ElementRef) {

  }

  ngAfterViewInit(){
    $(this.el.nativeElement).datepicker({
      changeMonth: this.changeMonth,
      yearRange: "1:100",
      changeYear: this.changeYear
    }).on('change', e => this.onChange(e.target.value));
  }

  onChange: Function = () => {};

  onTouched: Function = () => {}; …
Run Code Online (Sandbox Code Playgroud)

angular2-directives angular2-template angular

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

Angular 2 - 将Auth服务从AuthModule导出到AppModule

我决定将LoginComponent,AuthService,LoggedInGuard放在一个名为AuthModule的模块中:

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { AuthComponent } from './auth.component';
import { LoginComponent } from './components/login/login.component';

import { AuthService } from './services/auth/auth.service';
import { StorageService } from './services/storage/storage.service';
import { RequestService } from './services/request/request.service';

import { LoggedInGuard } from './guards/logged-in.guard';

@NgModule({
  imports: [
    CommonModule
  ],
  providers: [AuthService, LoggedInGuard],
  declarations: [AuthComponent, LoginComponent],
  exports: [AuthService, LoggedInGuard]
})
export class AuthModule { }
Run Code Online (Sandbox Code Playgroud)

我想在Application的其余部分中仅使用AuthService方法.和LoggedInGuard保护非公共路线.

所以我尝试在AppModule中导入它们:

import { AuthModule } from './core/auth/auth.module';

@NgModule({
  declarations: [AppComponent, …
Run Code Online (Sandbox Code Playgroud)

angular2-services angular2-modules angular

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

Sidekiq 5无法使用AWS ELB和rails 5 api

Ruby版本:2.3.1

Sidekiq/Pro/Enterprise版本:5.0

Rails:5.0.2

我已经按照本教程进行操作,因此我可以使用sidekiq在我的rails api应用程序中发送电子邮件.该应用程序使用Puma在AWS ElasticBeanstalk上发布.

当用户注册时,他们应该收到一封电子邮件(通过设计).没有显示错误,没有生成sidekiq.log的日志.我不知道发生了什么,电子邮件根本没有发送.

初始化/ devise_async.rb

Devise::Async.setup do |config|
  config.enabled = true
  config.backend = :sidekiq
  config.queue   = :default
end
Run Code Online (Sandbox Code Playgroud)

初始化/ sidekiq.rb

rails_root = Rails.root || File.dirname(__FILE__) + '/../..'
rails_env = Rails.env || 'development'
redis_config = YAML.load_file(rails_root.to_s + '/config/redis.yml')
redis_config.merge! redis_config.fetch(Rails.env, {})
redis_config.symbolize_keys!
Sidekiq.configure_server do |config|
  config.redis = { url: "redis://#{redis_config[:host]}:#{redis_config[:port]}/12" }
end
Sidekiq.configure_client do |config|
  config.redis = { url: "redis://#{redis_config[:host]}:#{redis_config[:port]}/12" }
end
Run Code Online (Sandbox Code Playgroud)

配置/ redis.yml

development:
 host: 'localhost'
 port: '6379'
test:
 host: 'localhost'
 port: '6379'
production: …
Run Code Online (Sandbox Code Playgroud)

redis sidekiq devise-async amazon-elastic-beanstalk ruby-on-rails-5

5
推荐指数
0
解决办法
394
查看次数

Rails 5 API +实时通知

我只创建一个Rails 5 API,我需要创建一个实时的Web通知.

这可以通过使用ActionCable吗?有没有人有行动电缆或任何其他解决方案的例子?

提前致谢.

redis rails-api ruby-on-rails-5 actioncable

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