AngularJS-你能在一个javascript块中引用一个中继器变量吗
AngularJS - Can you reference a repeater variable in a block of javascript?
简单地说,我正在使用AngularJS尝试做这样的事情:
<ul>
<li ng-repeat="thing in things">
<a id="mybutton" href="link{{thing.Id}}">Click</a>
<script type="text/javascript">
$("#mybutton").click(function()
{
alert("Id: " + {{thing.Id}});
});
</script>
</li>
</ul>
这两者,以及alert("Id:"+thing.Id);yield error(未分别定义未预期的令牌"{"answers"thing")。有没有一种方法可以让我从中继器范围内的javascript块访问thing.Id?
为了增加一个实际的原因,我想使用该值和javascript中的其他一些东西(我可以访问jquery)来构建并重定向到URL。
Mike,在标记中使用角度表达式({{thing.id}})将不起作用,因为angular.js不是一个基于文本的模板系统,而是使用DOM作为模板。以下是有关此主题的更多信息:http://docs.angularjs.org/guide/compiler
现在,回到你的问题:你想做的事情可以在angular.js中很容易地完成,而不需要使用jQuery,这里有一个正在工作的jsFiddle:http://jsfiddle.net/pkozlowski_opensource/n6UfC/
诀窍是使用ng点击你的href:
<a ng-click="click(thing.id)">Click</a>
然后在控制器中的点击处理程序函数:
$scope.click = function(thingId) {
alert("Id: " + thingId);
//$location.path('/some/path/'+thingId);
}
在控制器的功能中,您可以使用jQuery指令,但最好使用angular的$location服务:http://docs.angularjs.org/api/ng.$location
我会把它存储到元素中,比如"data-id={{thing.id}}"
然后从javascript中使用data属性读回ID。
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 引用vue.js中v-for中的上一个值
- 引用“;instanceof“/来自另一个范围的原型
- 通过引用Javascript中的另一个函数来传递对象方法
- 在一个服务中引用多个API调用(Angular)
- 是否可以创建一个对象,该对象是另一个对象的子集,而不会丢失javascript中的引用
- 如何将对象引用传递到 mootools 中另一个对象的构造函数中
- 通过另一个变量引用变量名称,或从变量确定变量名称
- 如何在Javascript中将来自另一个页面的ID引用为变量
- 你能在javascript中分配一个引用表达式吗?
- 如何在 JQuery 的同一
中从另一个 引用一个 - 我如何得到一个引用我的HTML元标签
- 我如何在节点中找到一个引用网站的URL
- 对象被创建,但似乎共享一个引用
- jQuery,当移动我的jQuery代码到外部文件时,得到一个引用错误
- 用CloudKit JS创建一个引用
- 为什么总是在循环中使用对对象的最后一个引用
- 在Xcode中收到一个引用错误,说明一个对象没有定义
- 使用web API并得到一个引用错误
- 如何获得'this'在一个引用jQuery对象的函数中