我正在使用一个将href元素附加到标签上的库.在这个链接上,我需要调用一个范围内的
angularjs函数.就像是…
<a href="{{someFunction()}}"></a>
注意:我通过JavaScript从另一个库(nvd3.js)附加这个href,实际上并不是这样写的,因为我可以很容易地使用ng-click或ng-href.
解决方法
这有点复杂.
CAVEAT:这是非常非常黑客,绝对完全是你不应该做的有角度,但我想你知道,图书馆正在使你的生活艰苦…
首先,与onclick不同,href不会将字符串解释为javascript.相反,你必须使用
<a href="javascript:someFunction()"></a>
但是,这一点不会使它起作用,因为someFunction()不是文档上的方法,而是在控制器上,所以我们需要先获取控制器:
<a href="javascript:angular.element( document.getElementById('myController')).scope().someFunction();"></a>
其中myController指的是使用ng-controller装饰的DOM元素,例如
<div data-ng-controller="SomeController" id="myController"> ... </div>
如果someFunction修改视图的状态,您还需要使用$scope.apply,即
<a href="javascript:angular.element(document.getElementById('myController')). scope().$apply(someFunction)"></a>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。