注入器返回未定义的值?

时间:2014-01-13 16:33:10

标签: angularjs

  1. 我正在尝试从遗留代码中获取服务,并在injector()返回undefined时遇到一个奇怪的错误:

    Check this plnkr


    1. 另外,我正在尝试将新的属性值重新设置回服务,是否会在不使用手表的情况下反映到范围内?
    2. 非常感谢,非常感谢任何指针或建议。

1 个答案:

答案 0 :(得分:10)

您正在尝试在构建DOM之前获取元素。这与在$(document ).ready()之外运行javascript基本相同。所以这一行没有任何要素:

var elem = angular.element($('#myCtr'));

另外,顺便说一句,不是使用jQuery,而是执行上述操作的另一个Angular选项是:

var elem = angular.element(document.querySelector('#myCtr'))

Angular提供了一个等同于$(document ).ready()的{​​{1}},我们可以使用它。

但您还需要抓取angular.element(document).ready()并在scope内执行更改,以便Angular知道您已经更改了应该注意的内容。

结合我们得到的两个:

scope.$apply()

updated plnkr