title: VueJS accessing a method from another method
body: <p>I'm using VueJS to make a simple enough resource management game/interface. At the minute I'm looking to activate the <code>roll</code> function every 12.5 seconds and use the result in another function. 
  At the moment though I keep getting the following error:</p>
  
  <blockquote>
    <p>Uncaught TypeError: Cannot read property 'roll' of undefined(...)</p>
  </blockquote>
  
  <p>I have tried:</p>
  
  <ul>
  <li><code>app.methods.roll(6);</code></li>
  <li><code>app.methods.roll.roll(6);</code></li>
  <li><code>roll.roll()</code></li>
  <li><code>roll()</code></li>
  </ul>
  
  <p>but can't seem to access the function. Anyone any ideas how I might achieve this?</p>
  
  <pre><code>methods: {
  
    // Push responses to inbox.
    say: function say(responseText) {
      console.log(responseText);
      var pushText = responseText;
      this.inbox.push({ text: pushText });
    },
  
    // Roll for events
    roll: function roll(upper) {
      var randomNumber = Math.floor(Math.random() * 6 * upper) + 1;
      console.log(randomNumber);
      return randomNumber;
    },
  
    // Initiates passage of time and rolls counters every 5 time units.
    count: function count() {
      function counting() {
        app.town.date += 1;
        app.gameState.roll += 0.2;
  
        if (app.gameState.roll === 1) {
          var result = app.methods.roll(6);
          app.gameState.roll === 0;
          return result;
        }
      }
  
      setInterval(counting, 2500);
  
      ...
  
      // Activates the roll at times.
    }
  }
  </code></pre>