0
我在我的index.htm兩頁將pageA.html和pageB.html。如何從孩子的狀態變量傳遞給父狀態AngularJs UI路由器
在app.js我使用UI-路由器。
當我的應用程序運行Java控制器redierect應用到其中的index.html以$ urlRouterProvider激活pageA的默認。
所以index.html中我有
<div ng-app="myApp">
<span>{{user.name} {{user.firstname}}</span>
<a href="#pageA"><a/>
<a href="#pageB"><a/>
<div ui-view ></div>
</div>
在app.js
$urlRouterProvider.when('', '/pageA');
$stateProvider
.state('home', {
url : '/home',
views : {
"" : {
templateUrl : 'index.html',
controller : 'IndexController'
}
}
})
.state('pageA', {
url : '/pageA',
views : {
"" : {
templateUrl : 'pageA.html',
controller : 'pageAController'
}
}
})
.state('pageB', {
url : '/pageB',
views : {
"" : {
templateUrl : 'pageB.html',
controller : 'pageBController'
}
}
})
});
我都在索引控制器和PageAController試圖設置用戶變量:
$scope.user = UserService.getConnectedUser();
的問題是用戶無法在index.html中識別。
我不知道如何傳遞呢?
更新:
我試圖解決建議: 我在IndexController.js
$rootScope.$broadcast('HomeEvent', "String"); // going down
$scope.$on("HomeEvent", function (evt, data) {
$scope.Message = "Inside HomeController : " + data;
});
在我PageAController.js補充說:
$rootScope.$on('HomeEvent', function (event, data) {
$scope.Message = "Inside PageAController : " + data;
console.log("data getted ="+$scope.Message); // 'Some data'
});
,它不即使輸入$,我是否錯過了什麼?
看廣播(向下調用鏈中的一個功能),併發出(調用一個函數鏈向上)。這就是我們通常用它來傳遞控制器之間的信息 –
THX,野趣,我試圖使用它,你可以看到我的問題的更新,$德州儀器處理器事件 – selma
我試圖用$超時不進入(函數(){},500);爲了等待孩子被創造 – selma