Item scope in TypeScript(JavaScript)
<p>I want to use sqlite database in ionic2.</p>

<p>I could connect to the database and retrieved items data successfully in the following code.
But I could have not push into this.items array.</p>

<p>Error says:</p>

<blockquote>
  <p>undefined is not an object(evaluating 'this.items')</p>
</blockquote>

<p>Does anyone know what the problem is?
I guess it's variable scope but I'm not sure.</p>

<pre><code>import {Page, Platform} from 'ionic-angular';
declare var sqlitePlugin:any;
declare var plugins:any;

@Page({
  templateUrl: 'build/pages/getting-started/getting-started.html'
})
export class GettingStartedPage {
  items: Array&lt;{title: string}&gt;;
  constructor(platform: Platform) {
    platform.ready().then(()=&gt;{
      this.getData();
    });
  }

  getData(){
    sqlitePlugin.openDatabase({name: 'encrypted.db', key: 'Password', location: 'default'}, function(db) {
      db.transaction(function(tx) {
          var query: string = "SELECT * FROM items";
          this.items = []; &lt;-- error happens at this row.
          tx.executeSql(query, [], function(tx, resultSet) {
            //alert("name: " + resultSet.rows.item(0).name);
            this.items.push({
              title: resultSet.rows.item(0).name
            });            
          }, function(error) {
            alert('SELECT error: ' + error.message);
            console.log('SELECT error: ' + error.message);
          });
        }, function(error) {
          alert('transaction error: ' + error.message);
          console.log('transaction error: ' + error.message);
        }, function() {
          console.log('transaction ok');
        });
      }, function(error){
        alert('error' + error.message);
    });
  }  
}
</code></pre>