Mik*_*ras 2 javascript angularjs
简单地说,我正在使用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>
Run Code Online (Sandbox Code Playgroud)
这两个,并警告("Id:"+ thing.Id); 屈服误差(未分别定义未经预期的标记'{'和'事物').有没有办法可以访问thing.Id从转发器范围内的一个javascript块?
为了添加一个实际的原因,我想使用该值以及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/
诀窍是在你的href上使用ng-click:
<a ng-click="click(thing.id)">Click</a>
Run Code Online (Sandbox Code Playgroud)
然后是控制器中的单击处理函数:
$scope.click = function(thingId) {
alert("Id: " + thingId);
//$location.path('/some/path/'+thingId);
}
Run Code Online (Sandbox Code Playgroud)
在控制器的函数中,您可以使用jQuery指令,但最好使用angular的$ location服务:http://docs.angularjs.org/api/ng.$location
| 归档时间: |
|
| 查看次数: |
1075 次 |
| 最近记录: |