Как изменить значение текстовой области после нажатия на другую страницу?
Я вообще новичок в 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}})"