Nano Hash - криптовалюты, майнинг, программирование

Изменилось ли что-нибудь в ngFormControl в @angular/forms 0.3.0?

Я обновляю свое приложение Angular с rc4 до rc5, включая обновление угловых форм с 0.2.0 до 0.3.0. С тех пор я получаю следующую ошибку, которая, похоже, связана с изменением ngFormControl в формах 0.3.0.

zone.js:461 Unhandled Promise rejection: Template parse errors:
Can't bind to 'ngFormControl' since it isn't a known property of 'input'. ("nput type="text" class="form-control search-input" name="search" placeholder="Search..." [value]="" [ERROR ->][ngFormControl]="searchFormControl">

Строка, ссылающаяся на коды окна поиска в одном из моих шаблонов компонентов:

<p [hidden]=hideSearch>
  <input type="text" class="form-control search-input" name="search" placeholder="Search..." [value]="" [ngFormControl]="searchFormControl">
</p>

Я не смог найти никакой информации о том, что эта функция была изменена. Какова правильная альтернатива ngFormControl сейчас?

Изменить: для контекста, вот весь компонент header.component.ts (FormModule и ReactiveFormModule загружаются в app.module.ts)

import { Component, EventEmitter, Input, Output} from '@angular/core';
import { Control } from '@angular/common';
import { OrbitService } from './orbit.service';
import 'rxjs/add/operator/debounceTime';

@Component({
  selector: 'orbit-header',

  template: `
    <div class="top-nav row">
      <h3 class="pull-left">Northmark</h3>
      <div class="col-md-2 col-md-offset10 pull-right">
        <p [hidden]=hideSearch>
        <!-- ng-model = [ngFormController] -->
          <input type="search" class="form-control search-input" name="search" placeholder="Search..." [value]="" [NgFormControl]="searchFormControl">
        </p>
        <p>
          <a class="log-out" (click)="orbitService.deleteCookie('ORBIT_COOKIE')">Log Out</a>
        </p>
      </div>
      <div class="clearfix"></div>
    </div>
  `
})

export class HeaderComponent implements OnInit {

  @Input() private hideSearch: boolean;

  constructor(
    private orbitService: OrbitService) {
    this.searchFormControl = new Control();
  }

  @Output() onSubmit = new EventEmitter<string>();

  ngOnInit() {
    this.searchFormControl.valueChanges
      .debounceTime(500)
      .subscribe(query => this.submit(query));
  }

  submit(query: string) {
    this.onSubmit.emit(query);
  }
}
23.08.2016

  • Вы импортировали FormsModule и ReactiveFormsModule? Пожалуйста, покажите больше кода. 23.08.2016
  • FormsModule да, ReactiveFormsModule нет. Для чего используется ReactiveFormsModule? 23.08.2016
  • Для управляемых моделью форм. FormsModule предназначен для форм на основе шаблонов. 23.08.2016

Ответы:


1
[ngFormControl]="searchFormControl"

должно быть

[formControl]="searchFormControl"

и я думаю, вам нужно импортировать ReactiveFormsModule

23.08.2016
  • Да, кажется, это так! 23.08.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..