在我的情况下,我生成"最近的搜索"链接从列表中获取锚文本(ng-repeat =" meteo.cityList中的城市")。 然后我想调用一个传递ancor文本内容的函数,所以我试图使用ng-model(ng-model =' meteo.button')来获取值和ng-点击调用该函数(ng-click =" meteo.search(meteo.button)")
<nav class="recent-cities">
<h3>Search History:</h3>
<a ng-repeat="city in meteo.cityList" ng-model='meteo.button' ng-click="meteo.search(meteo.button)" href="#">{{city}}</a>
</nav>
它不起作用,因为ng-model没有获得价值。我也想通过&#34; city&#34;直接到功能,但它不起作用。 我想问题是关于渲染,但我无法弄清楚如何。
以下是整个代码:http://codepen.io/tiuscia/pen/qqLQNd
我将感激任何帮助
感谢
答案 0 :(得分:2)
先使用div
<div ng-repeat="city in meteo.cityList">
<a ng-model='city.button' ng-click="meteo.search(city.button)" href="#">{{city}}</a>
答案 1 :(得分:0)
解决此问题的方法是使用$event
检索点击的元素,所以:
<a ng-model='city.button'
ng-click="meteo.search($event)" href="#">{{city}}</a>
然后你可以在你的控制器功能中做这样的事情:
$scope.meteo.search = function(event) {
var city = event.target.text; // or event.currentTarget.text
// the rest of your code here...
另一种方法是创建自己的自定义指令,因此,您将城市名称(或city.button)传递给指令。