gpt4 book ai didi

javascript - 一个 root-app 内有多个 ng-app

转载 作者:行者123 更新时间:2023-12-03 05:57:39 26 4
gpt4 key购买 nike

我是 angularjs 新手。在同一页面中使用多个 ng-apps。就像 app1 中的 app2 和 rootApp 中的 app1 一样。

controller1 有一个 $http 服务,它将检索 ID 和名称并将其分配给 $rootScope

我想在 app2 的 controller2 中使用该值。

但问题是 app1 首先被调用,然后 app2 立即被调用,而没有获取 id 和 name。

因为服务需要一些时间来检索 id 和 name 值。

我想从app1获取id和name后调用app2。我如何才能实现这一目标,

<body ng-app="rootApp">
...
<div ng-app="app1" ng-controller ="controller1">


.....

<div ng-app="app2" ng-controller="controller2">

</div>

</div>

</body>

var app1 = angular.module('app1', []); /

app1.controller('controller1', function ($scope, $filter, $rootScope) {

$http.get().success(function(data){
$rootScope.id=data.id;
$rooTScope.name=data.name;
});
});

var app2 = angular.module('app2', []); /

app2.controller('controller2', function ($scope, $filter, $rootScope) {

//here i want to use that $rootscopeValues of id and name

});

最佳答案

您只能拥有一个 ng-app 和多个 ng-controller。注意 $rootScope 的拼写方式。

var app = angular.module('app', [])
.controller('controller1', function($scope, $filter, $rootscope){
$http.get().success(function(data){
$rootScope.id = data.id;
$rootScope.name = data.name;
});

})
.controller('controller2', function($scope, $filter, $rootscope){
console.log($rootScope.id);
console.log($rootScope.name);
});

文档正文:

<body ng-app="app">
...
<div ng-controller ="controller1">


.....

<div ng-controller="controller2">

</div>

</body>

关于javascript - 一个 root-app 内有多个 ng-app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39855278/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com