Angularのチュートリアル(URL)を現在行っています。
javascript
1import { Component, OnInit } from '@angular/core'; 2import { ActivatedRoute } from '@angular/router'; 3 4import { products } from '../products'; 5import { CartService } from '../cart.service'; 6 7 8@Component({ 9 selector: 'app-product-details', 10 templateUrl: './product-details.component.html', 11 styleUrls: ['./product-details.component.css'] 12}) 13 14export class ProductDetailsComponent implements OnInit { 15 constructor( 16 private route: ActivatedRoute, 17 private cartService: CartService 18 ){ } 19} 20 21export class ProductDetailsComponent implements OnInit { 22 addToCart(product){ 23 window.alert('Your product has been added to the cart!'); 24 this.cartService.addToCart(product); 25 } 26} 27 28 ngOnInit() { 29 this.route.paramMap.subscribe(params => { 30 this.product = products[+params.get('productId')]; 31 }); 32 } 33 34}
コードは上記のもので
エラーは下記に示します
Error in src/app/product-details/product-details.component.ts (28:14) ';' expected.
よろしくお願いいたします
かっこの対応があっていないようですが、実際のコードではどうなっていますか?
修正の依頼ありがとうございます。
最後の}を削除しました
> 最後の}を削除しました
それで、動作します??
ngOnInit はメソッドですよね? Angular 詳しくないので間違っていたら申し訳ないのですが、文法的におかしいような……?
動作はしていないです。
私もAngularのチュートリアルを写経している段階なので・・・
写経、ということはお手本のコードがあるのですよね?
ご提示された方が回答がつくのでは?
ほんとに Angular わからないので、なんとなくフィーリングで、
export class ProductDetailsComponent implements OnInit {
constructor(
){ }
addToCart(product){
}
ngOnInit() {
}
}
こんな感じに書くんじゃないのかな、と思いました。
ご指摘ありがとうございます。URL追記致しました
URL拝見。
やはり、上記したような構造だと思いますよ。
もう答え出てますね。どうして ProductDetailsComponent クラス2回定義してるんですか?