Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
angularjs自定义属性中的$rootScope在注入后消失_Angularjs_Ionic Framework - Fatal编程技术网

angularjs自定义属性中的$rootScope在注入后消失

angularjs自定义属性中的$rootScope在注入后消失,angularjs,ionic-framework,Angularjs,Ionic Framework,我在主控制器中声明了$rootScope.myproperty,可以在其他控制器中访问它 但在其中一个控制器中,我必须像使用$watch一样注入$rootScope。然后,当我检查回$rootScope.myproperty时,它变得未定义。奇怪,为什么会这样 之所以发生这种情况,是因为您使用了$rootScope作为变量并为其分配了一个对象 $rootScope = { myproperty: 'root abc' }; 这是错误的。相反,您应该向其添加属性,如下所示,它将起作用: $roo

我在主控制器中声明了
$rootScope.myproperty
,可以在其他控制器中访问它


但在其中一个控制器中,我必须像使用
$watch
一样注入
$rootScope
。然后,当我检查回
$rootScope.myproperty
时,它变得未定义。奇怪,为什么会这样

之所以发生这种情况,是因为您使用了
$rootScope
作为变量并为其分配了一个对象

$rootScope = { myproperty: 'root abc' };
这是错误的。相反,您应该向其添加属性,如下所示,它将起作用:

$rootScope.myproperty = 'root abc';

我已经更新了代码笔及其工作方式:

之所以发生这种情况,是因为您使用了
$rootScope
作为变量并为其分配了一个对象

$rootScope = { myproperty: 'root abc' };
这是错误的。相反,您应该向其添加属性,如下所示,它将起作用:

$rootScope.myproperty = 'root abc';
我已经更新了代码笔及其工作方式:

问题是您已将
$rootScope
注入
AttendeesCtrl
控制器。您不需要将
$rootScope
注入控制器。当您注入
$scope
时,您会自动获得对
$rootScope
中定义的任何内容的访问权限,因为。因此,
attendesctrl
控制器应如下所示:

.controller('AttendeesCtrl', function($scope) {

  //I used $watch and $rootScope somehere so I have to inject $rootScope in this controller
  $scope.myproperty = $rootScope.myproperty;
});
有关详细信息,您可以查看AngularJS

希望这能解决你的问题。

问题是您已将
$rootScope
注入
AttendeesCtrl
控制器。您不需要将
$rootScope
注入控制器。当您注入
$scope
时,您会自动获得对
$rootScope
中定义的任何内容的访问权限,因为。因此,
attendesctrl
控制器应如下所示:

.controller('AttendeesCtrl', function($scope) {

  //I used $watch and $rootScope somehere so I have to inject $rootScope in this controller
  $scope.myproperty = $rootScope.myproperty;
});
有关详细信息,您可以查看AngularJS


希望能解决您的问题。

添加答案,请检查。添加答案,请检查。