title: Ternary operator and Vue filters
body: <p>I've encountered a weird behavior in Vue. See the following <code>vue.html</code> code:</p>
  
  <pre><code>&lt;label :text= 
      "$props.information ? (($props.information.primary || $props.information.secondary) | myFilter) : `No info`"&gt;
  &lt;/label&gt;
  </code></pre>
  
  <p>This won't compile, and Vue throws the following warning:</p>
  
  <p><code>[Vue warn]: Property or method "myFilter" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option.
  (found in Root)</code></p>
  
  <p>However, when I'm not using a the ternary operator:</p>
  
  <pre><code>&lt;label :text=
      "($props.information.primary || $props.information.secondary) | myFilter"&gt;
  &lt;/label&gt;
  </code></pre>
  
  <p>It compiles just fine, and <code>myFilter</code> is found. <code>myFilter</code> is declared in <code>boot.ts</code>. Why does it throw in the first example? There is no difference in scope.</p>