Как изменить значение текстовой области после нажатия на другую страницу?

Я вообще новичок в angularjs/onsen в целом. Поэтому я пытаюсь на самом деле выбрать список контактов из формы контактов и показать имя в текстовой области для создания страницы сообщения. У меня есть это, но это не работает.

contacts.html

<div ng-controller="ContactsController" >
      <ons-list class="person-list" >
        <ons-list-header class="person-list-header" ng-init="people = contacts">{{char}}</ons-list-header>
          <ons-list-item class="person" modifier="tappable" ng-click="contactsBack("{{person.username}}")" ng-repeat="person in contacts | filter:searchInput">
            <ons-row>
              <ons-col width="40px">
                <img src="images/profile-image-0{{i}}.png" class="person-image">
              </ons-col>

              <ons-col class="person-name" >
                {{person.username}}
              </ons-col>
            </ons-row>
          </ons-list-item>
      </ons-list>
    </div>

страница сообщения

        <ons-row align="center">
        <ons-col width="290px">
            <div class="left">
                <input type="text" id ="contactName" class="text-input text-input--transparent" placeholder="Name" style="width: 100%">
            </div>
        </ons-col>

    <ons-col>

app.js

    $scope.contactsBack = function(name) {
  $scope.document.getElementById("contactName").value = name;

  $scope.navi.pushPage('message.html');
  }

Я включил функцию в "ContactsController"

1 ответ

Решение

На вашей странице mesaage определите поле, подобное этому.

Определите свой contactName используя ng-модель. Для этого вам не понадобится атрибут ID или метод javascript

И JS:

$scope.contactsBack = function(name) {
    $scope.contactName = name;

    $scope.navi.pushPage('message.html');
}

Angular использует двустороннюю привязку данных, с помощью которой ваше поле на странице сообщения заполняется списком контактов.

РЕДАКТИРОВАТЬ 1: удалить двойную кавычку ng-click="contactsBack({{person.username}})"

Другие вопросы по тегам