当前位置: 首页 > 面试题库 >

在Angular的run()方法中获取$ scope对象

濮阳和泰
2023-03-14
问题内容

当我的应用加载以设置默认状态时,我想做一些事情。因此,我试图在Module对象上使用run方法。当我尝试访问$ scope变量时,虽然在控制台中收到“
Uncaught ReferenceError:$ scope not defined”消息,但该消息仍然存在。

请参阅以下示例http://jsfiddle.net/F2Z2X/1/

app = angular.module('myapp', []);

app.controller('mycontroller', function($scope){
    $scope.data = { myvariable: 'Hello' };
});

app.run(
    alert($scope.data.myvariable))
);

我要把这都弄错了吗?

例如,我想在开始时运行一次watchAction函数,以隐藏尚未被调用的UI元素,但是watchAction函数没有$
scope对象,因为watch方法没有调用它,所以我必须将其传递给它,但是遗憾的是它不可用。


问题答案:
app.run(function ($rootScope) {
    $rootScope.someData = {message: "hello"};
});

您只能$rootScope注入servicesrun功能,因为每个child scope继承自其父作用域,而顶级作用域是rootScope。因为注入 任何 范围都将是模棱两可的。仅提供根范围。



 类似资料:
  • 问题内容: 我是Angular的新手,我正在尝试做一些非常基础的事情。这是视图的一部分(所有角度文件都添加到其他位置): 这是我的控制器: 我想做的事情很简单。我想使用输入值。我尝试了类似的方法,并使用范围的值创建了一个数组,但是没有用。当我尝试显示该值时,控制台上显示“ undefined”。 你们有什么主意吗? 编辑:该视图还具有带有指令的按钮,该指令在我尝试获取值的地方触发控制器的功能。 问

  • 问题内容: 我正在使用ng-repeat在HTML中创建表单,以从范围中的对象生成表单元素。我还使用该对象在ng-repeat之外生成其他元素。 一个简化的示例在HTML中如下所示: 在JS中: 在这个例子中,在块2中的文本设置为初始值和。输入值和循环内部的值也被设置为初始值。 当我修改输入中的值时,ng-repeat块内部的值会正确更新,但block2中的标签无法更新。 为什么会这样呢?ng-

  • 本文向大家介绍vue template中slot-scope/scope的使用方法,包括了vue template中slot-scope/scope的使用方法的使用技巧和注意事项,需要的朋友参考一下 在vue 2.5.0+ 中slot-scope替代了 scope template 的使用情形为,我们已经封装好一个组建,预留了插槽,使用 的插槽 首先 我们的创建一个组建 组建很简单有一个 slot

  • 本文向大家介绍在Python中通过getattr获取对象引用的方法,包括了在Python中通过getattr获取对象引用的方法的使用技巧和注意事项,需要的朋友参考一下 getattr函数 (1)使用 getattr 函数,可以得到一个直到运行时才知道名称的函数的引用。 (2)用于模块的 getattr : getattr不仅仅适用于内置数据类型,也可作用于模块。 (3)getattr 作为一 个分

  • 本文向大家介绍Javascript中获取对象的原型对象的方法小结,包括了Javascript中获取对象的原型对象的方法小结的使用技巧和注意事项,需要的朋友参考一下 在Javascript中,如果我们有一个对象但是又不知道它的构造函数时,如何获取它的原型对象呢? 在Chrome中或是FireFox浏览器中,我们可以直接使用对象的__proto__属性获取它的原型对象。 但是,__proto__属性在

  • 本文向大家介绍jQuery获取iframe的document对象的方法,包括了jQuery获取iframe的document对象的方法的使用技巧和注意事项,需要的朋友参考一下 获取iframe的document对象的目的就是进行dom的操作 这样输出来的结果是:document对象