小编use*_*552的帖子

angularjs $ state和$ rootScope.$ on($ stateChangeStart)问题

我经历了多个问题,但没有找到解决方案.

我有处理状态的问题.

$urlRouterProvider.otherwise( function($injector, $location) {
    var $state = $injector.get("$state");
    $state.go("cover");
});

$stateProvider
    .state('auth', {
        url: '/auth',
        templateUrl: '../views/authView.html',
        controller: 'AuthController as auth'
    })
    .state('users', {
        url: '/users',
        templateUrl: '../views/userView.html',
        controller: 'UserController as user'
    })
....
Run Code Online (Sandbox Code Playgroud)

这个路由在我的应用中如何工作.

app.run(function($rootScope, $state, $location) {
    $rootScope.$on('$stateChangeStart', function(event, toState, fromState) {

        //ERROR IS IN THIS BLOCK
        if($rootScope.authenticated && $rootScope.onboard == 0) {

            //event.preventDefault();

            $state.transitionTo("onboard", null, {notify:false});
            $state.go('onboard');
        }
...
Run Code Online (Sandbox Code Playgroud)

每当我改变我的路线时,该块会触发数百次,但我希望它只是检查用户是否经过身份验证并完成了某些表格,或者是否只是重定向到表单本身.

我尝试过不同的方式preventDefault(); 或没有,同样的问题.

javascript state angularjs angular-ui-router

6
推荐指数
1
解决办法
2万
查看次数

Android,代码优化

我正在开发一个Android应用程序,我有一个重复的代码.有没有优化这些代码行的解决方案?谢谢

Button btn1 = (Button) dialog.findViewById(R.id.btn1);
Button btn2 = (Button) dialog.findViewById(R.id.btn2);
Button btn3 = (Button) dialog.findViewById(R.id.btn3);
Button btn4 = (Button) dialog.findViewById(R.id.btn4);
Button btn5 = (Button) dialog.findViewById(R.id.btn5);
Button btn6 = (Button) dialog.findViewById(R.id.btn6);
Button btn7 = (Button) dialog.findViewById(R.id.btn7);
Button btn8 = (Button) dialog.findViewById(R.id.btn8);
Button btn9 = (Button) dialog.findViewById(R.id.btn9);

btn1.setOnClickListener(listener);
btn2.setOnClickListener(listener);
btn3.setOnClickListener(listener);
btn4.setOnClickListener(listener);
btn5.setOnClickListener(listener);
btn6.setOnClickListener(listener);
btn7.setOnClickListener(listener);
btn8.setOnClickListener(listener);
btn9.setOnClickListener(listener);
Run Code Online (Sandbox Code Playgroud)

optimization android duplicates

0
推荐指数
1
解决办法
449
查看次数