我在ControllerA
<select ng-model="selecteditem" ng-change="selectedItem(selecteditem)" ng-options="item.id as item.name for item in items" ></select>
我在Add()
中有两种方法,Update()
和ControllerB
,它们几乎相同
$scope.add = function (g) {
if (g != '') {
.
.
.
.
$scope.grade = {};
$state.go('grades', { selecteditem: g, items: $scope.items }, false);
}
}
ControllerA
中的
$scope.$on('$ionicView.beforeEnter', function (viewData) {
if ($stateParams.items != null && $stateParams.items.length > 0) {
$scope.items = $stateParams.items;
$scope.selecteditem= $stateParams.selecteditem;
....
}
else {
......
}
});
Add()
函数中的,一切正常,但在Update()
函数中,当我返回ControllerA
时,select不绑定到selecteditem
并显示开始时为空值。有什么问题?
答案 0 :(得分:0)
有几种选择。 这些控制器如何相关?
您始终可以通过$ parent访问父控制器范围:
$rootScope.selectedItem = .....
您可以使用可从每个控制器访问的$ rootScope
.service('myService', function () {
this.selectedItem = null;
});
你需要将$ rootScope注入你的控制器
使用服务可能是最佳选择:
myService.selectedItem = ..........
您可以将服务注入控制器,然后设置/访问所需的变量,如:
Tools