为了账号安全,请及时绑定邮箱和手机立即绑定

请问angularjs 和外部js 调用 不属于同一 scope 怎么处理?

请问angularjs 和外部js 调用 不属于同一 scope 怎么处理?

繁星淼淼 2019-09-03 10:06:14
angularjs 和外部js 调用 不属于同一 scope 怎么处理
查看完整描述

4 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

首先Angularjs的Controller是可以嵌套的,你在整个app的顶层设置一个Controller, 内部的Controller自然可以使用父级Controller的scope里的内容了。
其次,外部调用js? 既然你要全局使用,为什么不把代码放到一个Service里面?每个 Service都是一个单例,需要使用的时候,注入一下就可以了。

查看完整回答
反对 回复 2019-09-07
?
aluckdog

TA贡献1847条经验 获得超7个赞

//defineamodulevarmainApp=angular.module("mainApp",[]);//createaservicewhichdefinesamethodsquaretoreturnsquareofanumber.mainApp.service('CalcService',function(MathService){this.square=function(a){returnMathService.multiply(a,a);}});//injecttheservice"CalcService"intothecontrollermainApp.controller('CalcController',function($scope,CalcService,defaultInput){$scope.number=defaultInput;$scope.result=CalcService.square($scope.number);$scope.square=function(){$scope.result=CalcService.square($scope.number);}});就是这样调用service的

查看完整回答
反对 回复 2019-09-07
?
largeQ

TA贡献2039条经验 获得超7个赞

Scope(作用域)是angular应用程序中视图(HTML)和控制器(JavaScript)之间的纽带。
也就是说HTML和JavaScript可以通过它来传输、共享数据。Scope是一个对象,有自己的很多的方法和属性,$scope正是创建控制器时传递的Scope对象的一个实例。

延伸知识点:我们知道创建控制器时传递了Scope对象的一个实例,所以一个控制器对应一个Scope对象,在多个控制器之间共享数据怎么办?多个控制器若属于同一个APP,我们可以用$rootScope来实现控制器间的数据共享

查看完整回答
反对 回复 2019-09-07
  • 4 回答
  • 0 关注
  • 1148 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信