【发布时间】:2015-12-01 09:30:21
【问题描述】:
我试图创建一个动态 UI 路由器,当您每次单击按钮时,它需要返回带有 $stateParams.currentFloor 更改的 templateUrl,以便它可以在屏幕上的视图中得到更新。
目前我有:
我的设置:
app.config(function ($urlRouterProvider, $stateProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home', {
url: '/',
views: {
"menu-view": {
templateUrl: 'partials/menu.html'
},
"map-view": {
controller: 'mapViewController',
templateUrl: function ($stateParams) {
return 'partials/floors/floor-' + $stateParams.currentFloor + '.html'
}
}
}
})
});
我的控制器需要保存数据并将其传递给 templateUrl 函数
app.controller('mapViewController', function ($scope, $stateParams) {
$scope.currentFloor = $stateParams.currentFloor;
$scope.currentFloor = 1;
$scope.addOne = function () {
$scope.currentFloor = $scope.currentFloor + 1;
return $stateParams.currentFloor = $scope.currentFloor;
};
});
而且只是一个简单的函数,每次点击都会为范围增加 +1
<button ng-click="addOne()"></button>
我想我已经很接近了,但是我很难将数据从我的控制器传递到需要更改 templateUrl 的函数
【问题讨论】:
-
你能做一个plunker吗?更改状态参数后,您需要重新加载状态
-
plnkr.co/edit/1xaMwcoyfAlz4zcE96TO?p=preview 甚至无法让笨蛋开始工作。我认为这是#状态
-
您使用 angular 2 吗?
-
哦,伙计们,我什至没看到我 quik 添加了 angular 2。我现在改不好
-
我成功了,我会写一个答案
标签: javascript angularjs angular-ui-router