title: Vue + Typescript vue-router and type of params
body: <p>I'm trying to send some data from one component to other, but I have some problem with types.
  This is my code:</p>
  
  <pre><code>const someData: object = {
     param1: 'param1',
     param2: 'param2',
     array: [{},{}]
  }
  this.$router.push({ name: 'SomePage', params: { someData } }) 
  </code></pre>
  
  <p>I get the data this way:</p>
  
  <pre><code>  get param1 (): string {
      return this.$route.params.someData['param1']
    }
    get param2 (): string {
      return this.$route.params.someData['param2']
    }
    get array (): Array&lt;object&gt; {
      return this.$route.params.someData['array']
    }
  </code></pre>
  
  <p>And the error from console:</p>
  
  <pre><code>Argument of type '{ name: string; params: { someData: object; }; }' is not assignable to parameter of type 'RawLocation'.
    Type '{ name: string; params: { someData: object; }; }' is not assignable to type 'Location'.
      Types of property 'params' are incompatible.
        Type '{ someData: object; }' is not assignable to type 'Dictionary&lt;string&gt;'.
          Property 'someData' is incompatible with index signature.
            Type 'object' is not assignable to type 'string'.
  </code></pre>
  
  <p>It works only if I put type <code>any</code> to <code>someData</code>, but I don't won't to use it.
  How can I solve this problem? What is this <code>'Location'</code> and <code>'RawLocation'</code> type?</p>