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









up vote
1
down vote

favorite












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 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 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 at 2:23










  • @JonathanLonowski the answer was just using if(value) so therefore myString ? ... : ...
    – CQM
    Nov 11 at 5:12














up vote
1
down vote

favorite












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 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 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 at 2:23










  • @JonathanLonowski the answer was just using if(value) so therefore myString ? ... : ...
    – CQM
    Nov 11 at 5:12












up vote
1
down vote

favorite









up vote
1
down vote

favorite











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 at 22:57









CQM

14.1k60191330




14.1k60191330











  • 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 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 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 at 2:23










  • @JonathanLonowski the answer was just using if(value) so therefore myString ? ... : ...
    – CQM
    Nov 11 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 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 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 at 2:23










  • @JonathanLonowski the answer was just using if(value) so therefore myString ? ... : ...
    – CQM
    Nov 11 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 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 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 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 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 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 at 2:23












@JonathanLonowski the answer was just using if(value) so therefore myString ? ... : ...
– CQM
Nov 11 at 5:12




@JonathanLonowski the answer was just using if(value) so therefore myString ? ... : ...
– CQM
Nov 11 at 5:12












2 Answers
2






active

oldest

votes

















up vote
0
down vote













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



























    up vote
    0
    down vote



    accepted










    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',
      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








      up vote
      0
      down vote













      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
























        up vote
        0
        down vote













        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






















          up vote
          0
          down vote










          up vote
          0
          down vote









          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 at 4:52









          cal_br_mar

          60137




          60137






















              up vote
              0
              down vote



              accepted










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



              so myString ? ... : ...






              share|improve this answer
























                up vote
                0
                down vote



                accepted










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



                so myString ? ... : ...






                share|improve this answer






















                  up vote
                  0
                  down vote



                  accepted







                  up vote
                  0
                  down vote



                  accepted






                  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 at 6:02









                  CQM

                  14.1k60191330




                  14.1k60191330



























                      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.





                      Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                      Please pay close attention to the following guidance:


                      • 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

                      Top Tejano songwriter Luis Silva dead of heart attack at 64

                      ReactJS Fetched API data displays live - need Data displayed static

                      政党