<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Question Re: view.byId issues with JS-based UI in Technology Q&amp;A</title>
    <link>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523764#M3395126</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I just came upon this, but it has been such a help for both the code fix options and the proper reasoning.&amp;nbsp; It was such a mystery why this byId() would work for XML Views but not for JS Views.&amp;nbsp; Thanks very much!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Apr 2015 21:25:42 GMT</pubDate>
    <dc:creator>former_member47571</dc:creator>
    <dc:date>2015-04-15T21:25:42Z</dc:date>
    <item>
      <title>view.byId issues with JS-based UI</title>
      <link>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaq-p/9523757</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm trying to build a UI using javascript and in my controller, I need to get a reference to one of the components I created in my view. For example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Main.view.js&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;sap.ui.jsview("views.Main", {&lt;/P&gt;&lt;P&gt; &lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getControllerName : function() {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return "views.Main";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; createContent : function(oController) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var page = new sap.m.Page({&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showHeader: false,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; page.addStyleClass("page");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var content = new sap.m.FlexBox("productsContent",{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; direction: "Column",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; page.addContent(content);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return page;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;});&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p1"&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and my controller looks like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Main.controller.js&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P class="p1"&gt;sap.ui.controller(&lt;SPAN class="s1"&gt;"views.Main"&lt;/SPAN&gt;, {&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp;&amp;nbsp; onInit: &lt;/SPAN&gt;&lt;SPAN class="s4" style="font-size: 9pt; line-height: 12pt;"&gt;function&lt;/SPAN&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;() {&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="s4" style="font-size: 9pt; line-height: 12pt;"&gt;var&lt;/SPAN&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt; view = &lt;/SPAN&gt;&lt;SPAN class="s4" style="font-size: 9pt; line-height: 12pt;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;.getView()&lt;/SPAN&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var content =&amp;nbsp; &lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;view.byId(&lt;/SPAN&gt;&lt;SPAN class="s1" style="font-size: 9pt; line-height: 12pt;"&gt;"&lt;SPAN style="color: rgba(0, 0, 0, 0); font-family: helvetica, arial; font-size: 12px;"&gt;productsContent&lt;/SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p2"&gt;&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert(c&lt;/SPAN&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;ontent);&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp;&amp;nbsp; },&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;});&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So basically I need to get a reference to the FlexBox in my view but I'm getting undefined for the &lt;EM&gt;&lt;STRONG&gt;content &lt;/STRONG&gt;&lt;/EM&gt;variable. But if I change my view to an XMLview that looks like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;core:View&lt;/SPAN&gt;&lt;SPAN class="s3"&gt; &lt;/SPAN&gt;&lt;SPAN class="s4"&gt;xmlns:core&lt;/SPAN&gt;&lt;SPAN class="s3"&gt;=&lt;/SPAN&gt;"sap.ui.core"&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="s4"&gt;xmlns:mvc&lt;/SPAN&gt;&lt;SPAN class="s3"&gt;=&lt;/SPAN&gt;"sap.ui.core.mvc"&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="s4"&gt;xmlns:html&lt;/SPAN&gt;&lt;SPAN class="s3"&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.w3.org/1999/xhtml"&gt;http://www.w3.org/1999/xhtml&lt;/A&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN class="s3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;controllerName&lt;SPAN class="s3"&gt;=&lt;/SPAN&gt;&lt;SPAN class="s5"&gt;"views.Main"&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN class="s3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;height&lt;SPAN class="s3"&gt;=&lt;/SPAN&gt;&lt;SPAN class="s5"&gt;"100%"&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="s4"&gt;xmlns&lt;/SPAN&gt;&lt;SPAN class="s3"&gt;=&lt;/SPAN&gt;"sap.m"&lt;SPAN class="s3"&gt; &lt;/SPAN&gt;&lt;SPAN class="s1"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;/P&gt;&lt;P class="p4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;Page&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s4"&gt;id&lt;/SPAN&gt;=&lt;SPAN class="s5"&gt;"home"&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN class="s3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;showHeader&lt;SPAN class="s3"&gt;=&lt;/SPAN&gt;&lt;SPAN class="s5"&gt;"false"&lt;/SPAN&gt;&lt;SPAN class="s3" style="font-size: 9pt; line-height: 12pt;"&gt; &lt;/SPAN&gt;&lt;SPAN class="s1" style="font-size: 9pt; line-height: 12pt;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;/P&gt;&lt;P class="p4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;content&lt;/SPAN&gt;&lt;SPAN class="s1"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;/P&gt;&lt;P class="p4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;FlexBox&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s4"&gt;id&lt;/SPAN&gt;=&lt;SPAN class="s5"&gt;"productContents"&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s4"&gt;text&lt;/SPAN&gt;=&lt;SPAN class="s5"&gt;"Products Lookup"&lt;/SPAN&gt; &lt;SPAN class="s1"&gt;&amp;gt;&amp;lt;/FlexBox&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;content&lt;/SPAN&gt;&lt;SPAN class="s1"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="s1"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class="s2"&gt;Page&lt;/SPAN&gt;&lt;SPAN class="s1"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p5"&gt;&lt;SPAN class="s1"&gt;&amp;lt;/&lt;/SPAN&gt;core:View&lt;SPAN class="s1"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The variable &lt;EM&gt;&lt;STRONG&gt;content &lt;/STRONG&gt;&lt;/EM&gt;gets the correct value. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also tried this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P class="p1"&gt;jQuery.sap.byId(&lt;SPAN class="s1"&gt;"productsContent"&lt;/SPAN&gt;);&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but the object returned doesn't seem to be of type sap.ui.core.Control as it throws an error whenever I call addStyleClass to it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any clue to what could be wrong or any workaround? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/Marc&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Jun 2013 06:31:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaq-p/9523757</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-06-14T06:31:20Z</dc:date>
    </item>
    <item>
      <title>Re: view.byId issues with JS-based UI</title>
      <link>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523758#M3395120</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, I managed to make it work by assigning the FlexBox I've created in my view to a local variable. So my view now looks like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;sap.ui.jsview("views.Main", {&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getControllerName : function() {&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return "views.Main";&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; createContent : function(oController) {&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var page = new sap.m.Page({&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showHeader: false,&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; page.addStyleClass("page");&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.content = new sap.m.FlexBox("productsContent",{&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; direction: "Column",&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; page.addContent(content);&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return page;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&amp;nbsp; &lt;/P&gt;&lt;P&gt;});&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;I've changed line 14 from var content to this.content and to access it from my controller, I can simply call this.getView().content. view.byId() is still confusing if it will only work for XML-based UI.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Jun 2013 07:16:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523758#M3395120</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-06-14T07:16:41Z</dc:date>
    </item>
    <item>
      <title>Re: view.byId issues with JS-based UI</title>
      <link>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523759#M3395121</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Marc,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for finding this issue!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Explanation: there is a difference between declarative Views (XMLView, JSView,...) and the programmatic JSView:&lt;/P&gt;&lt;P&gt;in the former UI5 does create the controls and prefixes their IDs with the View ID to guarantee uniqueness. In JSViews you create the controls and give the IDs and have to take care of uniqueness yourself.&lt;/P&gt;&lt;P&gt;Hence, View.byId() was introduced so one does not need to fiddle with ID prefixes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, JSViews inherit this method and it still tries to add the prefix, which results in wrong IDs. You could just directly call &lt;/P&gt;&lt;P&gt;sap.ui.getCore().byId() &lt;/P&gt;&lt;P&gt;instead, which should work.&lt;/P&gt;&lt;P&gt;But of course View.byId() should work as well, so we'll override this method and remove the prefix logic there.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks again!&lt;/P&gt;&lt;P&gt;Andreas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Jun 2013 12:12:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523759#M3395121</guid>
      <dc:creator>AndreasKunz</dc:creator>
      <dc:date>2013-06-14T12:12:19Z</dc:date>
    </item>
    <item>
      <title>Re: view.byId issues with JS-based UI</title>
      <link>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523760#M3395122</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No worries Andreas and thanks for the clarification. Yeah having the View.byId working in both XMLView and JSView is much more better than to create a local variable for all the components that you want to get hold on to in the controller.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Marc&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Jun 2013 13:58:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523760#M3395122</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-06-14T13:58:30Z</dc:date>
    </item>
    <item>
      <title>Re: view.byId issues with JS-based UI</title>
      <link>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523761#M3395123</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Marc,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hm, sorry to say, but I was wrong... I can't simply change the behavior:&lt;/P&gt;&lt;P&gt;Actually it is strongly recommended that IF you give static IDs in JSViews, you do not give them directly, but you also use the ID prefixing mechanism by calling View.createId("myId"). This guarantees ID uniqueness by adding the same prefix that the other View types add.&lt;/P&gt;&lt;P&gt;AND of course View.byId("myId") will then work properly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;var content = new sap.m.FlexBox(this.createId("productsContent"), {&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;direction: "Column",&amp;nbsp; &lt;/P&gt;&lt;P&gt;}); &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then you can use view.byId("productsContent");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So you do not need to create an extra variable. And the solution is available right now and also makes your View more robust.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I extended the documentation to make this clearer&lt;/P&gt;&lt;P&gt;&lt;A href="https://sapui5.netweaver.ondemand.com/sdk/#docs/guide/MVC.html"&gt;https://sapui5.netweaver.ondemand.com/sdk/#docs/guide/MVC.html&lt;/A&gt; -&amp;gt; support for unique IDs&lt;/P&gt;&lt;P&gt;(my change will only be visible with 1.14)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Andreas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Jun 2013 09:30:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523761#M3395123</guid>
      <dc:creator>AndreasKunz</dc:creator>
      <dc:date>2013-06-17T09:30:55Z</dc:date>
    </item>
    <item>
      <title>Re: view.byId issues with JS-based UI</title>
      <link>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523762#M3395124</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Cool! I wasn't aware that there's a &lt;SPAN style="font-size: 10pt;"&gt;View.createId() function. That's a lot better and thanks for adding it into the documentation. &lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Jun 2013 04:52:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523762#M3395124</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-06-18T04:52:57Z</dc:date>
    </item>
    <item>
      <title>Re: view.byId issues with JS-based UI</title>
      <link>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523763#M3395125</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thank you so much for share... I lost too much time trying to make this work! &lt;SPAN __jive_emoticon_name="sad" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.sap.com/994/images/emoticons/sad.gif"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 31 Aug 2014 12:05:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523763#M3395125</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-08-31T12:05:33Z</dc:date>
    </item>
    <item>
      <title>Re: view.byId issues with JS-based UI</title>
      <link>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523764#M3395126</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I just came upon this, but it has been such a help for both the code fix options and the proper reasoning.&amp;nbsp; It was such a mystery why this byId() would work for XML Views but not for JS Views.&amp;nbsp; Thanks very much!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Apr 2015 21:25:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523764#M3395126</guid>
      <dc:creator>former_member47571</dc:creator>
      <dc:date>2015-04-15T21:25:42Z</dc:date>
    </item>
    <item>
      <title>Re: view.byId issues with JS-based UI</title>
      <link>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523765#M3395127</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Very nice explanation by &lt;SPAN style="color: #333333; font-size: 12px;"&gt;Andreas. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; font-size: 12px;"&gt;The point is in JS view if you are using this.createId("ID") then it will create the id of the element with prefixes of view like jsview*--ID. This would be unique in the corresponding view.So when you are going to use the function this.byId("ID"), where this refers to your view, will always search for the element with "ID" in the same view.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; font-size: 12px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; font-size: 12px;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; font-size: 12px;"&gt;Rabin&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Nov 2015 06:35:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/view-byid-issues-with-js-based-ui/qaa-p/9523765#M3395127</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2015-11-27T06:35:23Z</dc:date>
    </item>
  </channel>
</rss>

