访问angular scope中的值和函数

最近某个产品的web版本改用了angular

之前做的chrome插件主要是通过操作dom来完成一些自动化工作。如今这个产品改用了angular,插件也就不能用了,还得改。

我们先来看看它给我们带来了什么麻烦
angular的 data binding导致我们直接操作dom失效。再也不能在chrome插件或者浏览器控制台中直接操作dom来达到目的了,因为真正的数据保存在service中,或者保存在controller中,当我们尝试用脚本在input填入数据时,会发现,controller中的数据值并不会改变,这样,我们的目的就没法达到了。

再来看看给我们带来了什么好处
数据和业务逻辑完全封装到service和controller中,非常清晰,如果我们能访问到,那要比直接操作dom更加容易实现需求。

还得去官网翻文档
我查到了angular.element方法。
element
该方法返回几个jquey封装的页面对象,同时angular还为他提供了几个额外的方法,其中之一就是scope,scope在angular是一个分厂常见的概念,具体还是看文档吧
scope

这样我们就可以直接访问scope上的方法和数据了。
比如打开一个angular的web站点,打开浏览器控制台,输入:

//得到jquery选择器指定元素的scope
var scope = angular.element($(".class")).scope();//如果scope下存在方法hello,则可以直接调用
scope.hello();//如果scope下存在mode属性,则
console.log(scope.mode);

就这样,我们又可以通过控制台或者浏览器插件,来实现一些自动化工作了。

本来要上实例,不过今天被csdn恶心了一把,导致博文丢失,今天就只写这么多了,有机会,会上示例。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部