Vue string matching in handlebars myString !== “” ? myString : otherString










1















myString !== "" ? myString : otherString is currently printing myString which is an empty string



What is wrong with my comparator? I also tried using single quotes



The reason I ask this seemingly basic question is because the Vue documentation on handlebars doesn't seem to cover this, aside from letting me know that general javascript is available, I thought this comparator was general javascript for strings










share|improve this question






















  • i tried your example by setting myString:"" and otherString:"test" and i set myString !== "" ? myString : otherString in my template which prints test, i think you have an issue somewhere else

    – Boussadjra Brahim
    Nov 10 '18 at 23:05






  • 1





    Does myString.trim() !== "" perhaps have an effect on the output? Can myString be null or undefined instead of ""?

    – Jonathan Lonowski
    Nov 10 '18 at 23:10












  • @JonathanLonowski yes it can. The model says myString should be a string but the mongodb object may not have that key, currently

    – CQM
    Nov 11 '18 at 2:23











  • @JonathanLonowski the answer was just using if(value) so therefore myString ? ... : ...

    – CQM
    Nov 11 '18 at 5:12















1















myString !== "" ? myString : otherString is currently printing myString which is an empty string



What is wrong with my comparator? I also tried using single quotes



The reason I ask this seemingly basic question is because the Vue documentation on handlebars doesn't seem to cover this, aside from letting me know that general javascript is available, I thought this comparator was general javascript for strings










share|improve this question






















  • i tried your example by setting myString:"" and otherString:"test" and i set myString !== "" ? myString : otherString in my template which prints test, i think you have an issue somewhere else

    – Boussadjra Brahim
    Nov 10 '18 at 23:05






  • 1





    Does myString.trim() !== "" perhaps have an effect on the output? Can myString be null or undefined instead of ""?

    – Jonathan Lonowski
    Nov 10 '18 at 23:10












  • @JonathanLonowski yes it can. The model says myString should be a string but the mongodb object may not have that key, currently

    – CQM
    Nov 11 '18 at 2:23











  • @JonathanLonowski the answer was just using if(value) so therefore myString ? ... : ...

    – CQM
    Nov 11 '18 at 5:12













1












1








1








myString !== "" ? myString : otherString is currently printing myString which is an empty string



What is wrong with my comparator? I also tried using single quotes



The reason I ask this seemingly basic question is because the Vue documentation on handlebars doesn't seem to cover this, aside from letting me know that general javascript is available, I thought this comparator was general javascript for strings










share|improve this question














myString !== "" ? myString : otherString is currently printing myString which is an empty string



What is wrong with my comparator? I also tried using single quotes



The reason I ask this seemingly basic question is because the Vue documentation on handlebars doesn't seem to cover this, aside from letting me know that general javascript is available, I thought this comparator was general javascript for strings







javascript string vue.js comparator






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 10 '18 at 22:57









CQMCQM

14.3k60193332




14.3k60193332












  • i tried your example by setting myString:"" and otherString:"test" and i set myString !== "" ? myString : otherString in my template which prints test, i think you have an issue somewhere else

    – Boussadjra Brahim
    Nov 10 '18 at 23:05






  • 1





    Does myString.trim() !== "" perhaps have an effect on the output? Can myString be null or undefined instead of ""?

    – Jonathan Lonowski
    Nov 10 '18 at 23:10












  • @JonathanLonowski yes it can. The model says myString should be a string but the mongodb object may not have that key, currently

    – CQM
    Nov 11 '18 at 2:23











  • @JonathanLonowski the answer was just using if(value) so therefore myString ? ... : ...

    – CQM
    Nov 11 '18 at 5:12

















  • i tried your example by setting myString:"" and otherString:"test" and i set myString !== "" ? myString : otherString in my template which prints test, i think you have an issue somewhere else

    – Boussadjra Brahim
    Nov 10 '18 at 23:05






  • 1





    Does myString.trim() !== "" perhaps have an effect on the output? Can myString be null or undefined instead of ""?

    – Jonathan Lonowski
    Nov 10 '18 at 23:10












  • @JonathanLonowski yes it can. The model says myString should be a string but the mongodb object may not have that key, currently

    – CQM
    Nov 11 '18 at 2:23











  • @JonathanLonowski the answer was just using if(value) so therefore myString ? ... : ...

    – CQM
    Nov 11 '18 at 5:12
















i tried your example by setting myString:"" and otherString:"test" and i set myString !== "" ? myString : otherString in my template which prints test, i think you have an issue somewhere else

– Boussadjra Brahim
Nov 10 '18 at 23:05





i tried your example by setting myString:"" and otherString:"test" and i set myString !== "" ? myString : otherString in my template which prints test, i think you have an issue somewhere else

– Boussadjra Brahim
Nov 10 '18 at 23:05




1




1





Does myString.trim() !== "" perhaps have an effect on the output? Can myString be null or undefined instead of ""?

– Jonathan Lonowski
Nov 10 '18 at 23:10






Does myString.trim() !== "" perhaps have an effect on the output? Can myString be null or undefined instead of ""?

– Jonathan Lonowski
Nov 10 '18 at 23:10














@JonathanLonowski yes it can. The model says myString should be a string but the mongodb object may not have that key, currently

– CQM
Nov 11 '18 at 2:23





@JonathanLonowski yes it can. The model says myString should be a string but the mongodb object may not have that key, currently

– CQM
Nov 11 '18 at 2:23













@JonathanLonowski the answer was just using if(value) so therefore myString ? ... : ...

– CQM
Nov 11 '18 at 5:12





@JonathanLonowski the answer was just using if(value) so therefore myString ? ... : ...

– CQM
Nov 11 '18 at 5:12












2 Answers
2






active

oldest

votes


















0














The ternary operator works fine on the template.
Check your myString data it might not be empty.



 <div>Empty: myString === "" ? 'test' : otherString<div>
<div>Non Empty: myString !== "" ? 'test' : otherString<div>


See the example below.






var app = new Vue(
el: '#app',
data()
return
myString: "",
otherString: "blah"

,
)

<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
<div id="app">
<div>Empty: myString === "" ? 'test' : otherString<div>
<div>Non Empty: myString !== "" ? 'test' : otherString<div>

</div>








share|improve this answer






























    0














    if(value) was the answer here, to cover all the conditions I needed



    so myString ? ... : ...






    share|improve this answer






















      Your Answer






      StackExchange.ifUsing("editor", function ()
      StackExchange.using("externalEditor", function ()
      StackExchange.using("snippets", function ()
      StackExchange.snippets.init();
      );
      );
      , "code-snippets");

      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "1"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53244236%2fvue-string-matching-in-handlebars-mystring-mystring-otherstring%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      0














      The ternary operator works fine on the template.
      Check your myString data it might not be empty.



       <div>Empty: myString === "" ? 'test' : otherString<div>
      <div>Non Empty: myString !== "" ? 'test' : otherString<div>


      See the example below.






      var app = new Vue(
      el: '#app',
      data()
      return
      myString: "",
      otherString: "blah"

      ,
      )

      <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
      <div id="app">
      <div>Empty: myString === "" ? 'test' : otherString<div>
      <div>Non Empty: myString !== "" ? 'test' : otherString<div>

      </div>








      share|improve this answer



























        0














        The ternary operator works fine on the template.
        Check your myString data it might not be empty.



         <div>Empty: myString === "" ? 'test' : otherString<div>
        <div>Non Empty: myString !== "" ? 'test' : otherString<div>


        See the example below.






        var app = new Vue(
        el: '#app',
        data()
        return
        myString: "",
        otherString: "blah"

        ,
        )

        <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
        <div id="app">
        <div>Empty: myString === "" ? 'test' : otherString<div>
        <div>Non Empty: myString !== "" ? 'test' : otherString<div>

        </div>








        share|improve this answer

























          0












          0








          0







          The ternary operator works fine on the template.
          Check your myString data it might not be empty.



           <div>Empty: myString === "" ? 'test' : otherString<div>
          <div>Non Empty: myString !== "" ? 'test' : otherString<div>


          See the example below.






          var app = new Vue(
          el: '#app',
          data()
          return
          myString: "",
          otherString: "blah"

          ,
          )

          <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
          <div id="app">
          <div>Empty: myString === "" ? 'test' : otherString<div>
          <div>Non Empty: myString !== "" ? 'test' : otherString<div>

          </div>








          share|improve this answer













          The ternary operator works fine on the template.
          Check your myString data it might not be empty.



           <div>Empty: myString === "" ? 'test' : otherString<div>
          <div>Non Empty: myString !== "" ? 'test' : otherString<div>


          See the example below.






          var app = new Vue(
          el: '#app',
          data()
          return
          myString: "",
          otherString: "blah"

          ,
          )

          <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
          <div id="app">
          <div>Empty: myString === "" ? 'test' : otherString<div>
          <div>Non Empty: myString !== "" ? 'test' : otherString<div>

          </div>








          var app = new Vue(
          el: '#app',
          data()
          return
          myString: "",
          otherString: "blah"

          ,
          )

          <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
          <div id="app">
          <div>Empty: myString === "" ? 'test' : otherString<div>
          <div>Non Empty: myString !== "" ? 'test' : otherString<div>

          </div>





          var app = new Vue(
          el: '#app',
          data()
          return
          myString: "",
          otherString: "blah"

          ,
          )

          <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
          <div id="app">
          <div>Empty: myString === "" ? 'test' : otherString<div>
          <div>Non Empty: myString !== "" ? 'test' : otherString<div>

          </div>






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 11 '18 at 4:52









          cal_br_marcal_br_mar

          62138




          62138























              0














              if(value) was the answer here, to cover all the conditions I needed



              so myString ? ... : ...






              share|improve this answer



























                0














                if(value) was the answer here, to cover all the conditions I needed



                so myString ? ... : ...






                share|improve this answer

























                  0












                  0








                  0







                  if(value) was the answer here, to cover all the conditions I needed



                  so myString ? ... : ...






                  share|improve this answer













                  if(value) was the answer here, to cover all the conditions I needed



                  so myString ? ... : ...







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 11 '18 at 6:02









                  CQMCQM

                  14.3k60193332




                  14.3k60193332



























                      draft saved

                      draft discarded
















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53244236%2fvue-string-matching-in-handlebars-mystring-mystring-otherstring%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

                      Crossroads (UK TV series)

                      ữḛḳṊẴ ẋ,Ẩṙ,ỹḛẪẠứụỿṞṦ,Ṉẍừ,ứ Ị,Ḵ,ṏ ṇỪḎḰṰọửḊ ṾḨḮữẑỶṑỗḮṣṉẃ Ữẩụ,ṓ,ḹẕḪḫỞṿḭ ỒṱṨẁṋṜ ḅẈ ṉ ứṀḱṑỒḵ,ḏ,ḊḖỹẊ Ẻḷổ,ṥ ẔḲẪụḣể Ṱ ḭỏựẶ Ồ Ṩ,ẂḿṡḾồ ỗṗṡịṞẤḵṽẃ ṸḒẄẘ,ủẞẵṦṟầṓế