Sea*_*ess 5 javascript angularjs angular-ui-router
我正在制作一个看起来很像http://pinterest.com的画廊的应用程序.在Pinterest中,当您单击某个图钉时,它会显示您正在查看的图库顶部的图钉页面.URL更改为pin url,并且不包含有关详细信息背后的库的任何信息.您可以单击"X"或在背景上返回您正在浏览的图库而无需重新加载.
如何使用UI-Router复制它?
需求:
谢谢!
$stateProvider.state("items.add", {
url: "/add",
onEnter: function($stateParams, $state, $modal, $resource) {
$modal.open({
templateUrl: "items/add",
resolve: {
item: function() { new Item(123).get(); }
},
controller: ['$scope', 'item', function($scope, item) {
$scope.dismiss = function() {
$scope.$dismiss();
};
$scope.save = function() {
item.update().then(function() {
$scope.$close(true);
});
};
}]
}).result.then(function(result) {
if (result) {
return $state.transitionTo("items");
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
它取决于模式的 ui-bootstrap。
如果您更喜欢使用fancybox或其他灯箱,则可以使用类似的方法。使用onEnter回调来初始化灯箱,然后在其关闭时转换到父状态。(如果您在没有关闭灯箱的情况下离开,您可能需要添加 onExit 回调。)