我正在學習angular 2,並且正在嘗試編寫ngFor語句。 當我通過輸入傳送的數據我訪問的輸入我的模板如下: 我的主要成分當我在ngFor的方括號中寫入數組名稱時有什麼不同?
@Component({
selector: 'inventory-app',
template: `
<div class="inventory-app">
<product-list [productList] = "products"
(OnProductSelected) = "productWasSelected($event)">
</product-list>
</div>
`,
directives: [ProductList]
})
class InventoryComponent {
products: Array<Product>
constructor() {
this.products = [new Product('NICEHAT'
, 'A nice Hat'
, '/resources/images/products/black-hat.jpg'
, ['Men', 'Accessories', 'Hats']
, 29.99),
new Product('BLACKHAT'
, 'A nice Black Hat'
, '/resources/images/products/black-hat.jpg'
, ['Men', 'Accessories', 'Hats']
, 29.99)];
}
}
我寫了下面的(我使用productList的輸入產品列表組件傳遞產品)代碼組件產品列表:
@Component({
selector: `product-list`,
inputs: [`productList`],
template: `<div *ngFor = "#product of [productList]">{{product}}</div>`
})
class ProductList {
}
請注意,當我寫下這樣的數組名productList:[productList]。瀏覽器中顯示輸出
[object Object],[object Object],[object Object]
但是,當我寫的只是productList的(不含括號)瀏覽器返回:
[object Object]
[object Object]
[object Object]
有沒有做任何解釋?
我在引用一本名爲ng-book2的書來學習angular2,這個例子已經從書中取得了。
謝謝:)
編輯:
我觀察到,當我用我不能讀取屬性的值[productList的] 例如{{product.name}}在我使用方括號時沒有顯示。 但它顯示的名字,當我在ngFor
太棒了!這就說得通了。 –