我正在制作聊天应用程序。在第二页(主页)上,我有用户列表。当我点击用户时,我想打开弹出窗口。我用这段代码来弹出。
wilton/a3gyq/5/light/
但是,当我单击某个用户而不是显示弹出时,将重定向到第一页登录。
这是我的代码:
home-controller.js
(function () {
'use strict';
function HomeController($scope,redirectService) {
$scope.homeController = {};
$scope.homeController.users = [
{
icon: 'img/online.png',
name: 'Vanessa Angel'
},
{
icon: 'img/online.png',
name: 'Tom Baker'
}
];
$scope.homeController.logOut = function () {
redirectService.loginToLogin();
};
}
angular.module('chatApp').controller('homeController', HomeController);
})();home.tpl.html
<div id="wrapper">
<div class="right">
<input type="submit" id="logOut" class="btn btn-primary" value="Sign Out" ng-click="homeController.logOut()">
</div>
<div class="left clear">
<h1 style="font-family: 'Helvetica Neue'"><b>Online users</b></h1>
<div ng-repeat="user in homeController.users">
<user-directive user-list="user"></user-directive>
</div>
</div>
</div>user-directiv.js
(function () {
'use strict';
angular.module('chatApp').directive('userDirective', function () {
return {
restrict: 'E',
scope: {
userList: '='
},
templateUrl: 'src/home/user.tpl.html'
};
});
})();指令tmpl
<div>
<ul class="list-group">
<li class="list-group-item">
<p class="item">
<a href="#myModal" data-backdrop="false" data-toggle="modal">
<img width="20px" height="20px" ng-src="{{userList.icon}}"/><span class="icon-text">{{userList.name}}</span>
</a>
</p>
</li>
</ul>
<div id="myModal" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Settings</h4>
</div>
<div class="modal-body">
<p>Settings</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->
</div>重定向服务
/** *由用户在2015年9月15日创建。*/
(function () {
'use strict';
angular.module('chatApp').factory('redirectService', function ($state) {
var service = {};
service.loginToHome = function () {
$state.go('home');
};
service.loginToLogin = function(){
$state.go('login');
};
return service;
});
})();编辑为配置状态添加了app.js
(function () {
'use strict';
angular.module('chatApp', ['ui.router', 'ui.bootstrap'])
.config(function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/login");
$stateProvider
.state('login', {
url: '/login',
templateUrl: 'src/user/login/login.tpl.html',
controller: 'loginController'
})
.state('home', {
url: '/home',
templateUrl: 'src/home/home.tpl.html',
controller: 'homeController'
})
});
})();发布于 2015-09-17 23:12:26
因此,您正在使用一些url路由服务(很可能是角用户界面路由器),并且您有一个带有href='#myModal'的锚标记,它使用twitter引导(就像我假设你是/那个小提琴一样)将与数据切换结合起来,打开您的模式。
但是,由于您使用的是角用户界面路由器,路由器可能尝试将href='#myModal'读入状态(即/myModal或/home.myModal),只是它不是一个有效的状态,因此它是重定向到/login或任何您将$urlRouteProvider.otherwise设置为的状态。
您可以使用data-target='#myModal'而不是href标记来修复这个问题。
https://stackoverflow.com/questions/32641278
复制相似问题