angular.js - angular2 最基礎的問題
問題描述
import { Component ,OnInit} from ’@angular/core’;import { NavController, NavParams } from ’ionic-angular’;import { Category } from ’../../service/category’;import { CategoryService } from ’../../service/category.service’;@Component({ selector: ’index-page’, templateUrl: ’index.html’})export class IndexPage implements OnInit{ categories: Category[]; constructor( public navCtrl: NavController, public navParams: NavParams, private categoryService: CategoryService ) { } ngOnInit(): void { this.getCategories(); } getCategories(): void { this.categoryService.getCategories().then(categories => this.categories = categories); console.log(this.categories); } itemTapped(event, item) { console.log(window.localStorage.getItem(’token’)) // this.navCtrl.push(ListPage, { // id: item.title // }); // this.navCtrl.setRoot(ListPage); // console.log(localStorage.token); }}
index.html
<ion-header> <ion-navbar> <ion-title>車型選擇</ion-title> <button ion-button menuToggle end> <ion-icon name='menu'></ion-icon> </button> </ion-navbar></ion-header><ion-content> <ion-list> <button ion-item *ngFor='let category of categories' (click)='itemTapped($event, category)'> {{category.name}} <p item-right> </p> </button> </ion-list> <button (click)='getCategories()' ion-button color='primary'>11</button></ion-content>
為什么模版里沒有顯示出數據,log出來的是undefinded,接口是有獲得數據的
問題解答
回答1:很明顯你的categories在log的時候還沒有獲取到數據,你使用的是異步獲取數據,在還沒有獲取到數據的時候已經執行下面的console.log()了。把log放在then里再看看。
相關文章:
1. css - 如何使用 vue transition 實現 ios 按鈕一樣的平滑切換效果2. angular.js - 關于$apply()3. mysql - 把一個表中的數據count更新到另一個表里?4. 網絡傳輸協議 - 以下三種下載方式有什么不同?如何用python模擬下載器下載?5. mysql數據庫做關聯一般用id還是用戶名6. 關于python切片的問題7. linux - 升級到Python3.6后GDB無法正常運行?8. mysql 里邊,自增長id,寫數據時,是先把數據寫進去,然后再給這條數據一個id,還是先給id,然后再把要插入的數據寫進去9. 多維數組如何在視圖中渲染10. javascript - 前端怎樣實現圖片剪切一部分上傳呢?像微信或者QQ上傳那樣呢?用的啥技術
