1、在angular 2中,回調函數的返回結果,不會自動更新視圖層的顯示,可以用 ChangeDetectorRef 來驅動angular更新視圖。
1 import {ChangeDetectorRef} from "angular2/core"; //引入ChangeDetectorRef定義 2 constructor(public changeDetectorRef:ChangeDetectorRef) { //注入當前組件的ChangeDetectore 3 this.cd = cd; 4 this.records = []; 5 } 6 barcodeScanner() { 7 var self = this; 8 cordova.plugins.barcodeScanner.scan(function (result) { 9 if (!result.cancelled) { 10 self.records.unshift(result); 11 alert(self.records.length); 12 self.changeDetectorRef.markForCheck(); // 通知框架進行變化檢查/Change Detection 13 } 14 }, function (error) { 15 alert("發生了一個錯誤:" + error); 16 }); 17 }