как передать более одного значения в методе pushpage в пользовательском интерфейсе onsen

0

Привет, я новичок в angulajs и javasript, и я делаю демонстрацию pushpage значений в функции pushpage onsen ui. Мне удалось передать только одно значение в push-странице, но пока я пытаюсь передать два значения, которые он не передает, так может кто-нибудь, пожалуйста, помогите мне решить эту проблему, я пробовал, как показано ниже:

(внутренний контроллер)

var Content = ' ';
            var resid = ' ';
            var catname = ' '
           var options, 
         elem,
         obj = {};  


            for (i = 0 ; i< data ['Details'].length ; i++)
            { 
               resid=  + data['Details'][i]['intGlCode'] ;
                 catname   = data['Details'][i]['varName'];      

obj['params'] = resid;
obj['params1'] =  catname;
options = JSON.stringify(obj);
console.log(options);
elem = "<li class='list__item list__item--chevron' onclick=gallery.pushPage('list-page.html', "+options+");>"; 
console.log(elem);
                if (Content === ' ')
                {
                    //{params:'+resid+',params1 : '+catname+'}

                    Content =elem+
//    '<li class="list__item list__item--chevron" onclick=gallery.pushPage("list-page.html", { params: '+resid+' });>'+

 '<ons-icon class="ons-icon ons-icon--ion ion-android-restaurant fa-lg" fixed-width="true" icon='+data['Details'][i]['varIcon']+'>'+'</ons-icon>'
  • 0
    Пожалуйста, предоставьте поршень
Теги:
onsen-ui

2 ответа

1

pushPage() необходимо создать объект параметра pushPage() используя нотацию скобки, которая позволяет вводить значения атрибутов. O После создания объекта вы можете разобрать это как строку, которую вы объединяете с строкой в контроллере. Ниже показано это

var options, 
    elem,
    obj = {},     
    resid = 'foo',
    catname = 'bar';
obj['params'] = resid;
obj['params1'] =  catname;
options = JSON.stringify(obj);
console.log(options);
elem = "<li class='list__item list__item--chevron' onclick=gallery.pushPage('list-page.html', "+options+");>";
console.log(elem); /* prints <li class='list__item list__item--chevron' onclick=gallery.pushPage('list-page.html', {"params":"foo","params1":"bar"});> */

Проверьте демонстрационную версию ниже.

var options, 
    elem,
    obj = {},     
    resid = 'foo',
    catname = 'bar';
obj['params'] = resid;
obj['params1'] =  catname;
options = JSON.stringify(obj);
console.log(options);
elem = "<li class='list__item list__item--chevron' onclick=gallery.pushPage('list-page.html', "+options+");>";

pre.innerHTML = elem;
<pre id="pre"></pre>
  • 0
    Привет, теперь я получаю эту ошибку SyntaxError: missing ) after argument list gallery.pushPage('list-page.html' ..pls смотрите мое обновление по вопросу.
  • 0
    Возможно, вы пропустили запятую в своем коде ... onclick=gallery.pushPage('list-page.html' "+options+");>"; должно быть ... onclick=gallery.pushPage('list-page.html', "+options+");>";
Показать ещё 1 комментарий
0

Я делаю это, чтобы поместить его в значение параметра. Обратите внимание, что вам нужен файл php, который предоставляет данные json.

Первая страница

<ons-row ng-click="myNavigator.pushPage('page2.html', {param1: x.param1, param2: x.param2})">
   <ons-col width="35px">
     <i class="fa fa-stethoscope fa-2x" aria-hidden="true"></i>
   </ons-col>
   <ons-col>
    <div class="timeline-from">
      <span class="timeline-name">{{ x.param1 }}</span>
    </div>
  </ons-col>
</ons-row>

и на контроллере

//Pushed Page Controller

app.controller('PushedPageController', function($scope){
  var options = $scope.myNavigator.getCurrentPage().options;
  $scope.x = options.param1;
$scope.options = options;
})

и на стр.2.html

<ons-list class="timeline" modifier="inset" ng-controller="PushedPageController">
 <ons-list-item class="timeline-li" modifier="tappable"  ng-repeat="a in x">
  <ons-row>
   <ons-col>
     <div class="timeline-from">
        <span class="timeline-name">{{ a.first }}</span>
     </div>
     <div class="timeline-message" >
         {{ a.second }}
     </div>
   </ons-col>
  </ons-row>
 </ons-list-item>
</ons-list>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню