还有就是我的html代码:
<div ng-if="user.type == 'none'"> <button ng-click="selectUserType('user')"></button> </div>
<div ng-if="user.type !== 'none'"> //here goes input etc </div>
有我的脚本:
$scope.user = {type: 'none'};
$scope.selectUserType = function(type) {
$location.path('/signup/'+type);
$scope.user.type = type;
};
的问题是,在控制台第一次点击后,我看到$ scope.user获得'用户'的价值,然后立即回到'无',但位置改变到我所需要的。 $ scope.user在第二次点击后再次获得所需的值,并隐藏有用的块并显示需要的内容。
我怎么能用另一种方式做到这一点?我需要通过点击来完成所有这些
它的工作原理,当我删除$location.path('/signup/'+type)
,但我仍然需要改变我的location.path时user.type改变
对不起,我的英语,如果你看到一些语法错误或什么。这不是我的本地人,谢谢。
回答
,德米特里Loskutov回答我,我用这个: 只是检查location.path控制器开始,然后设置类型:
var locPath = $location.path();
if (locPath == '/signup') {
$scope.user = {type: 'none'};
} else if (locPath == '/signup/user') {
$scope.user = {type: 'user'};
}
$scope.selectUserType = function(type) {
$location.path('/signup/' + type);
$scope.user.type = type;
};
希望,帮助别人,因为我”已经失去了大约4个小时得到这个简单的解决方案> _ <
试试这个代码(这是不是最好的方法):
var $user = {type: 'none'}; // define OUTSIDE of controller(or link function)
代码控制器内(或链接功能)
$scope.user = $user;
$scope.selectUserType = function(type) {
$location.path('/signup/' + type);
$user.type = type;
$scope.user = angular.extend({}, $user);
};
我想你的初始化你的情况两次控制器,所以尝试在控制器之外定义$ user变量,例如在全局范围内(也可以尝试在$ rootScope中定义它),所以当控制器重新启动它时不会变换$ user变量。
上的方式的代码仍然没有改变:(但是,谢谢 – scDisorder
你试过跳过'$ location.path( '/注册/' +型);'?也许它重新启动你的控制器(或链接功能)并设置'$ scope.user = {type:'none'};'再次? –
它工作时,我删除'$ location.path('/注册/'+类型);'通常,但我仍然需要改变location.path – scDisorder
- 1. 第一次点击jQuery setTimeout然后第二次点击clearTimeout
- 2. Fb.ui仅在第二次点击后才显示
- 3. jQuery datepicker setdate仅在第二次点击后才起作用
- 4. JavaScript onClick仅在第二次点击后才能工作
- 5. 警报对话框仅在第二次点击后才显示
- 6. jQuery点击事件仅在第二次点击后才起作用
- 7. Javascript执行后第二次点击
- 8. jQuery的toggleClass后第二次点击
- 9. 警报后第二次点击
- 10. ice:commandButton在第二次点击后工作
- 11. 第二次点击后做些什么?
- 12. 分页工作后第二次点击
- 13. 第二次点击后关注链接
- 14. jquery第二次点击后发射
- 15. JavaScript第二次点击
- 16. 第二次点击jQuery
- 17. jquery:第二次点击
- 18. 第二次点击; jQuery
- 19. onclick第二次点击
- 20. onclick第二次点击
- 21. 隐藏第二次点击
- 22. 元素第一次点击变更,但不会恢复第二次点击
- 23. 导航第二次点击后第一次工作
- 24. ImageButton第一次点击/第二次点击?
- 25. 点击删除第二次点击后添加的类
- 26. 流星第二次改变后才作出反应第一次改变
- 27. 事件上一点击,第二次点击,而第三次点击
- 28. jQuery动画直到第二次点击才会启动
- 29. 只有第二次点击才能提交的数据C#ASP.NET
- 30. 第二次点击后取消选中第一个过滤器
您确定您需要''标记:
您是否在更改'$ location.path'之前尝试设置'$ scope.user.type'?你的按钮标签也不关闭。 )奇怪的事情已经引起陌生人的行为;)'
对不起,有一些错误,现在它有正确的样子 – scDisorder