首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使$scope在非角度函数中可用

使$scope在非角度函数中可用
EN

Stack Overflow用户
提问于 2018-02-21 13:58:17
回答 2查看 69关注 0票数 0

我有一个具有通用非角JS函数的实用程序文件。我试图想出一个想法,将当前的作用域注入到该文件中的函数中。我有以下功能,可以很好地与$state提供程序一起工作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function goToState(state) {
angular.element(document).injector().invoke(function ($state) {
    $state.go(state);
  });
}

但同样的东西在显微镜下行不通。我还尝试将$scope转换为一个字符串,以便发送到函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var scopeString = JSON.stringify($scope);

但获得“将循环结构转换为JSON”

还有其他想法吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-21 14:48:00

AngularJS应用程序中有许多作用域对象。如果您需要向非AngularJS代码公开一个代码,请使用$rootScope,这实际上是唯一可以指望始终存在的代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
angular.module("app").run("$rootScope", "$window", function($rootScope, $window) {
    $window.ngRootScope = $rootScope;
});

但是,请确保在AngularJS代码之外的任何时候使用该作用域执行某些操作,并将其包装在$apply()中。

如果你这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function myNonAngularJSFunction() {
    ngRootScope.someValue = 'newValue';
}

直到下一次运行摘要周期时,AngularJS才会知道这个值。

相反,这样做可以确保AngularJS立即通知和处理新的作用域值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function myNonAngularJSFunction() {
    ngRootScope.$apply(function(scope) {
        scope.someValue = 'newValue';
    });
}
票数 1
EN

Stack Overflow用户

发布于 2018-02-21 14:35:17

只要加载了脚本的函数,控制器就能够调用它们,在这种情况下,那些函数无法从HTML中访问,您就可以从控制器调用它们,并将所需的对象传递给它们,比如没有JSON.stringify的JSON.stringify。

<span ng-click="ctrlCallSpecialFunc()" >

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
angular.module("app",[]).controller('mainCtrl', function($scope){
      $scope.ctrlCallSpecialFunc = function(){
           scriptFunc($scope);
      }
})

普鲁克尔

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48916198

复制
相关文章
在DragonOS中,使蜂鸣器发声
很简单,代码如下: void beep(uint64_t times) { io_out8(0x43, 182&0xff); io_out8(0x42, 2280&0xff); io_out8(0x42, (2280>>8)&0xff); uint32_t x = io_in8(0x61)&0xff; x |= 3; io_out8(0x61, x&0xff); times *= 10000; for(uint64_t i=0;i<times
灯珑LoGin
2022/10/31
4130
质量测试角度:功-非-接
对于一个软件来说,功能如何并不难完全代表质量好坏,没有bug的软件不一定是一个好软件。
我去热饭
2022/05/18
2360
质量测试角度:功-非-接
在 Go 语言中 Patch 非导出函数
TLDR; 使用 supermonkey[1] 可以 patch 任意导出/非导出函数。
梦醒人间
2020/09/10
1K0
在 Go 语言中 Patch 非导出函数
在非容器环境中实现DevOps
采用DevOps方式实现软件交付的原因之一是为了消除生产部署过程中的瓶颈,对于服务器端软件,通常涉及以下部分: ☘ 应用程序环境,如操作系统参数 ☘ 第三方组件,如应用程序服务器,web服务器和数据库 ☘ 顶部运行的应用软件 为了消除部署瓶颈,DevOps旨在打破开发人员和IT运营人员之间的障碍(也是DevOps得名的原因),以促进协作的工作环境。因此,需要确保生产环境与开发环境保持同步,并且所有部署过程一起执行。实现这一目标的方式之一是通过使用容器,如Docker或Kubernetes
SDNLAB
2018/03/29
1.4K0
spring中的scope详解
spring容器中的bean默认是单例模式的,改成非单例模式需要在类上加上@Scope("prototype")
二十三年蝉
2018/08/01
9690
spring中的scope详解
tensorflow中的Variable Scope
TensorFlow提供Variable Scope机制来控制变量的作用域,一定程度上类似于C++中的namespace,使得相同名称的变量可以同时存在。
YoungTimes
2022/04/28
7970
Spring中的@scope注解
但是也可以理解成,singleton是启动创建,prototype/request/session/globalsession是动态创建。
ydymz
2018/09/10
1K0
Maven中Scope的分类
默认就是compile,什么都不配置也就是意味着compile。compile表示被依赖项目需要参与当前项目的编译,当然后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。
Ant丶
2022/03/01
8530
Spring中bean的scope
Spring容器中的bean具备不同的scope,最开始只有singleton和prototype,但是在2.0之后,又引入了三种类型:request、session和global session,不过这三种类型只能在Web应用中使用。
阿杜
2018/08/06
5630
Spring中bean的scope
python中的__call__,把类实例当函数使
看django源码时,看到了这样的一个用法,不知道是什么意思,于是查了下,发现这么个用法,直接把实例化后的类当函数来使,果然是强悍的函数式编程。
the5fire
2019/02/28
1.7K0
12. Kotlin 作用域函数(scope function)
学习 Kotlin 一定绕不开 run/let/apply/also 这四兄弟,它们是 Kotlin 使用频率最高的扩展方法(扩展方法在之前文章有介绍),它们也被称为作用域函数(scope functions)。今天我们就来了解一下它们。本文依然是按代码比较,字节码分析,和扩展思考三个方面进行分析。
sickworm
2020/04/26
1.1K0
【MYSQL函数】MYSQL中IF函数在where中的使用
WHERE IF(条件, true执行条件, false执行条件) 业务需求: 查询SUPPLIER_CLASS=0 and tp1.`TYPE_FLAG` = 1 或者 SUPPLIER_CLASS=1 实现有两种:
用户5640963
2019/07/25
12.3K0
Spring在无RedirectAttributes的情况下(如Interceptor中)使用Flash scope
判断逻辑很简单,但是重定向的时候需要前台有消息提示,如果是在Controller中,可以在方法上注入RedirectAttributes参数,但是Interceptor中默认没有这个参数,那么我们如何实现RedirectAttributes的flashMessage功能呢?
飞奔去旅行
2019/06/13
5.5K0
补习系列-springboot中的几种Scope
HTTP 头(Header)是一种附加内容,独立于请求内容和响应内容。 HTTP 协议中的大量特性都通过Header信息交互来实现,比如内容编解码、缓存、连接保活等等。 如下面的一个请求响应:Request
美码师
2018/08/27
5210
补习系列-springboot中的几种Scope
理解vue中的scope的使用
我们都知道vue slot插槽可以传递任何属性或html元素,但是在调用组件的页面中我们可以使用 template scope="props"来获取插槽上的属性值,获取到的值是一个对象。 注意:scope="它可以取任意字符串"; 上面已经说了 scope获取到的是一个对象,是什么意思呢?我们先来看一个简单的demo就可以明白了~ 如下模板页面:
用户7741497
2022/03/06
1.5K0
使用非root用户在容器中运行celery
在 docker 环境中, 如果使用 root 用户运行 celery worker会有下面才警告出现. 虽然可以通过C_FORCE_ROOT环境变量来避免这个问题。 但毕竟 celery 官方并不推荐使用 root。好在 docker-compose 有user参数指定用户.
用户1416054
2018/08/02
3.1K0
Matlab中弧度转角度、角度转弧度
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148429.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/02
1.5K0
Matlab中弧度转角度、角度转弧度
在VS中通过建立依赖关系使文件结构更清晰
在一个Web应用中,当你添加一个Web页面的时候,VS实际上会为你创建三个文件:Xxx.aspx, Xxx.aspx.cs和Xxx.aspx.designer.cs,后面两个文件(依赖文件)依赖于第一个文件(主文件)。依赖文件嵌套在主文件下,在结构上看起来非常的清晰。那么你是否可以把存在于同一个目录下的两个相关的文件也建立这种依赖关系呢? 目录 一、文件依赖达到的效果 二、文件依赖关系定义在Project文件中 三、通过VS插件建立两个文件之间的依赖关系 一、文件依
蒋金楠
2018/02/07
1.8K0
在VS中通过建立依赖关系使文件结构更清晰
汇编角度看函数堆栈调用
带着以下一个问题来探索: (1)形参的内存空间的开辟和清理是由调用方还是由被调用方执行的? (2)主函数调用函数结束后,主函数从哪里开始执行?从头开始还是从调用之后开始? (3)返回值是如何带出来的?
lexingsen
2022/02/24
6760
汇编角度看函数堆栈调用
指针在函数中的作用
指针传递地址时,指针变量产生了副本,但副本与原变量所指的内存区域是同一个。对指针副本指向的变量进行改变,就是改变原指针变量所指向的变量。
跋扈洋
2022/04/27
2.9K0
指针在函数中的作用

相似问题

如何使电流控制器$scope在角度指令函数中得到?

36

使用烧瓶和角,如何使$scope变量可用于python函数?

12

非角度事件是否必须使用$scope.$apply

10

使动态加载的值在角度库中可用

113

使变量在函数/类中可用

70
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文