【发布时间】:2015-05-15 04:41:18
【问题描述】:
这是一个虚拟演示 http://play.ionic.io/app/580ebc698c2c 。 基本上我创建了一个充满“名称”的列表,我需要获取所选元素的文本。
但是,当我单击列表中的某个项目时,我会为所有用户获得相同的“innerHTML”。
我的方法是否可行?或者有没有更好的方法来使用 Angular?
谢谢
我的代码:
Index.html(正文)
<body ng-app="app" ng-controller="MyCtrl">
<ion-pane>
<ion-header-bar class="bar-stable">
<h1 class="title">Awesome App</h1>
</ion-header-bar>
<ion-content>
<div class="list">
<a class="item" ng-repeat="name in names" id="userId" ng-click="click()">
{{name.name}}
</a>
</div>
</ion-content>
</ion-pane>
app.js
angular.module('app', ['ionic'])
.controller('MyCtrl', function ($scope) {
$scope.names = [
{name: "Phillip"},
{name: "Jane"},
{name: "Marcos"},
{name: "Thomas"}
]
$scope.click = function () {
var selectedUser = document.getElementById("userId").innerHTML;
alert("You selected " + selectedUser);
}
})
更新
我的数据的实际外观。
<ion-content>
<div class="list">
<a class="item"
ng-repeat="friend in friends"
ng-click="selectedUser(friend)">
{{friend._serverData.following}}
</a>
</div>
</ion-content>
形成这个列表我试图在单击(选择)时以某种方式获取项目的“文本”。
我的 JS
$scope.selectedUser = function (friend) {
alert(friend.friend);
}
【问题讨论】:
-
您还有什么问题吗?我看得出你不接受我的回答?
-
是的,它适用于我的演示,但不适用于我的实际项目。我得到一个“未定义”。
-
你能提供更多关于它现在失败的细节吗?
-
在我的演示中,“名称”是在我的 js 中定义的。但在我的项目中,我从后端调用我的数据。所以对于 "alert("You selected : " + name.name);"第二个“名称”未定义。我可以通过控制台查看数据。
-
但是对于我在这里提出的问题,您的解决方案是正确的。
标签: javascript angularjs ionic-framework ionic