控制器函数可以将数据绑定到元素的数据属性吗?

时间:2014-12-18 20:27:20

标签: javascript jquery angularjs

在jQuery中,我做了类似的事情:

var mySpan = $('<span/>,{ 'data':'somedata'});

在Angular中,我希望在DOM中运行ng-repeat时有一个绑定到该数据属性的函数,例如,

<div ng-repeat="item in items"> <span ng-click = "someFunc(somedata)">{{somedata.someprop}}</span> </div>

这样我就可以在基于ul和li的下拉菜单中访问onClick对象了。我假设我这样做是错误的&#34; (不是Angular)的方式,但我看不到它。

我知道我可以在函数或angular.element.data()方法中使用jQuery,但我似乎无法将该数据发送到函数中!

我更喜欢不将绑定数据显示为html中的data-x,data-y标签。我可以做得很好<el data-x="{{somedata}}"></el>

最终结果,我希望能够调用$(someEl).data()并获取我绑定的数据对象。

我错过了什么?

1 个答案:

答案 0 :(得分:5)

如果您要查看的是访问click事件中特定绑定的项目,那么最简单的方法就是将其传递到ng-click调用的函数中:

<div ng-repeat="item in items">
    <span ng-click = "someFunc(item)">{{somedata.someprop}}</span>
</div>