我将使用一个函数的params传递给另一个函数时遇到问题。
我正在传递这样的参数:
<div ng-click="changeView('distance')">EXPAND
</div>
在我的控制器中
$scope.changeView = function (params) {
$scope.currentView = params;
};
我有更多页面有更多选项。在我的选择中,我选择团队,但我想根据我的changeView显示。
这是我的团队选择
<select style="width: 100%;" ng-model="selectedTeam" ng-options="x.team_name for x in teams" ng-change="changeLocation(selectedTeam.team_id);"
</select>
这是我的控制器中的changeLocation
$scope.changeLocation = function (teamId) {
$scope.showPlayer = true;
if ($scope.currentView == undefined) {
$state.go('activity-statistic.activity-statistic-team-heart', { teamId: teamId }, { reload: false });
}
else {
$state.go('activity-statistic.activity-statistic-team-' + $scope.currentView + '', { teamId: teamId }, { reload: false });
}
};
当我想要更改位置时,我的$ scope.curentView始终是未定义的。
知道我做错了吗?
答案 0 :(得分:1)
看起来你的$scope.changeView
和$scope.changeLocation
都属于不同的控制器$ scope只在当前控制器中显示其范围为什么显示undef
您可以使用$rootscope
代替
$scope.changeView = function (params) {
$rootscope.currentView = params;
};
然后改变
if ($scope.currentView == undefined)
到
if ($rootscope.currentView == undefined)