Как передать идентификатор первого компонента на второй компонент в Angular2? - PullRequest
0 голосов
/ 07 мая 2018

Мой вопрос в том, что у меня есть две модели, одна - продукт и налог. здесь я упомянул отношение один ко многим, я отобразил идентификатор продукта в налоговый продукт. в этом component.ts Save_user является сервисом продукта. И Save_tax является налоговым продуктом. Сначала я хочу вставить продукт и использовать этот идентификатор для сопоставления с TAxproduct.

component.ts

 createNewProduct(productForm: NgForm) {
    this.productService.save_user(productForm.value)
      .subscribe(response => {
        const toast_parameter = this.notificationService.getToast('success', 'New Product', 'Inserted Successfully');
        this.toastConfig = toast_parameter.config;
        this.toasterService.popAsync(toast_parameter.toast);
      },
        error => {
          const toast_parameter = this.notificationService.getToast('error', 'New Product', 'Error Occurred!!');
          this.toastConfig = toast_parameter.config;
          this.toasterService.popAsync(toast_parameter.toast);
        });
 for (let i = 0; i < this.contacts.length; i++) {
          console.log(this.contacts[i])
          this.productService.save_tax(JSON.stringify(this.contacts[i] )).subscribe(response => {
            const toast_parameter = this.notificationService.getToast('success', 'New Product', 'Inserted Successfully');
            this.toastConfig = toast_parameter.config;
            this.toasterService.popAsync(toast_parameter.toast);
          },
            error => {
              const toast_parameter = this.notificationService.getToast('error', 'New Product', 'Error Occurred!!');
              this.toastConfig = toast_parameter.config;
              this.toasterService.popAsync(toast_parameter.toast);
            });
        }
  }

Model.py

class Product(models.Model):
    image = models.ImageField(upload_to='myphoto/%Y/%m/%d/', null=True, max_length=255)
    pro_name =  models.CharField(max_length=25)
    description = models.CharField(max_length=150)
    category = models.ForeignKey(Category,on_delete=models.CASCADE)
    sales = models.CharField(max_length=25)
    cost = models.CharField(max_length=25)
    taxable = models.BooleanField(default=False, blank=True)
    tax_details= models.CharField(max_length=250)
    type_units = models.ForeignKey(Units, on_delete=models.CASCADE)
    hsn = models.CharField(max_length=10)


class Taxproduct(models.Model):
    tax_name = models.CharField(max_length=50)
    tax_percentage = models.CharField(max_length=3)
    product_id = models.ForeignKey(Product, on_delete=models.CASCADE)

1 Ответ

0 голосов
/ 07 мая 2018

Вы можете вызвать второй сервис внутри метода подписки первого сервиса, если я понимаю какую-то часть вашей проблемы.Если вы хотите, чтобы ваш компонент создавался из чего-то, что возвращено из ответа http, вам придется подождать, пока ваш компонент не будет создан, чтобы ответ http вернулся.

...