我使用工厂为特定模块创建对象
angular.module("myModule").factory('MyEntity',
....
模块接受生成的'MyEntity'作为注入依赖项:
angular.module("myModule").controller('myProductCtrl', [
'$scope', 'MyEntity', '$rootScope', 'MyApiService'
...
该模块具有以下订阅者功能,用于订阅模块内的实体,如下所示:
MyEntity.subscribe(function(otherEntity) {
$scope.myReference = otherEntity;
});
在运行时,上面的$ scope.myReference成功分配了预期对象,因为它是加载第一个模块时的值
...我现在已将此功能添加到同一模块内的范围内:
$scope.myModuleFunction = function (product) {
if (myReference.yadda) {
...
}
}
...但是上面的'$ scope'在通过指令调用函数时是未定义的(事实上,一旦显示了网页,它就是未定义的)。为什么会出现这种情况?