小编shr*_*nsh的帖子

JavaScript location.href调用是异步的吗?

function fun(){
    console.log("Hi");
    window.location.href="http://www.google.com";
    console.log("Hello, how are you");
    alert("I am good");
    fun1();
}

function fun1(){
console.log("Whats up??");
}
Run Code Online (Sandbox Code Playgroud)

如果你看到上面的代码行在location.hrefconsole.log之前被调用("你好,你好吗"),alert和fun1().

当我调用fun()它时执行下面的所有语句location.href然后重定向到https://www.google.com.

所以我的问题是," location.href呼叫本质上是异步的,如果不是,那么这里发生了什么"?

因为我认为它将用户重定向到其他页面的那一刻,它下面的代码行将永远不会执行.

任何帮助/解释表示赞赏!

谢谢

javascript window.location

11
推荐指数
1
解决办法
3420
查看次数

页面刷新导致用户在角度js中自动注销

我有一个登录API,我在我的服务中使用它

function logInToService(callback, errback, login, password, rememberLogin) {
            var url = "User/Login";

            var authorizationHeader = {'Authorization': "Basic " + login + ":" + password};
            httpWrapperService.post(url, {login: login, password: password}, authorizationHeader).then(
                function success(loginToken) {
                    // transform data here

                    self.currentUser.emailAddress = login;
                    self.currentUser.password = password;
                    // store token in a cookie
                    self.currentUser.token = loginToken;
                    $rootScope.currentUser = self.currentUser;


                    if (rememberLogin) {

                        localStorage.userName=login;
                        localStorage.password=password;
                    }

                    httpWrapperService.setAuthenticationToken(loginToken);
                    callback(loginToken);
                },
                function error(errorObject) {
                    errback(errorObject);
                }
            );
        }
Run Code Online (Sandbox Code Playgroud)

在我的标题html中,当他登录Header.html时,我在顶部显示用户名

 <div class="header-user-menu">
        <div ng-show="isUserLoggedIn() == false …
Run Code Online (Sandbox Code Playgroud)

javascript logout page-refresh angularjs

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

angularJS $ stateProvider:如何在UI-Router中单元测试不同的视图?

如何针对以下场景对不同视图进行单元测试

.state('app.sr.product.upload', {
            name: 'upload',
            url: '/upload',
            data: {
                tags: [],
                userCommunities: []
            },
            views: {
                "productView@app.sr.product": {
                    templateUrl: 'views/upload/upload.html',
                    controller: 'UploadCtrl',
                    controllerAs: 'ul'
                },
                "tags@app.sr.product.upload": {
                    templateUrl: 'views/tags/tags.html',
                    controller: 'TagsCtrl',
                    controllerAs: 'vm'
                },
                "UserCommunityPanel@app.sr.product.upload": {
                    templateUrl: 'views/user-community/user-community.html',
                    controller: 'UserCommunityCtrl',
                    controllerAs: 'ul'
                },
            }
        })
Run Code Online (Sandbox Code Playgroud)
  • 如果我的观点是tags@app.sr.product.upload那么我如何测试我的控制器是TagsCtrl,我的控制器值是vm等?

  • 我怎么能单元测试,如果我的状态是app.sr.product.uploaddata.tags=[], data.userCommunities=[]等等.

我搜索了很多文档和教程,但没有得到它.

任何帮助都很明显.谢谢

unit-testing angularjs angular-ui-router angular-templatecache

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

AngularJS:$ log和console.log有什么区别?

我经历的angularJsdoc和来了解logwarnerror等我们看到的输出,我们需要打开控制台,所以我的问题是

如果已经console.log()有看到控制台的错误,那么什么用的$log,哪里是地方/之情况,我必须涉及使用$logangularJs application

如何使用$ log将有关日志活动的信息存储在文件中。

error-handling angularjs

5
推荐指数
1
解决办法
521
查看次数

customizing指令限制用户输入特殊字符:angular Js

我正在详细了解angularJs指令.目前我用它来限制用户不要输入特殊字符.

这是代码

HTML

<input type="text" no-special-char ng-model="vm.customTag" class="form-control" value="" />
Run Code Online (Sandbox Code Playgroud)

AngularJS指令

app.directive('noSpecialChar', function () {
    return {
        require: 'ngModel',
        restrict: 'A',
        link: function (scope, element, attrs, modelCtrl) {
            modelCtrl.$parsers.push(function (inputValue) {
                if (inputValue == null)
                    return ''
                cleanInputValue = inputValue.replace(/[^\w\s]/gi, '');
                if (cleanInputValue != inputValue) {
                    modelCtrl.$setViewValue(cleanInputValue);
                    modelCtrl.$render();
                }
                return cleanInputValue;
            });
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

这是我想要的两件事

(1)用户可以输入'-'当前没有发生的减号/破折号,如何改变我/[^\w\s]/gi允许用户输入的符号(短划线/减号).

(2)上述功能仅限制用户不输入任何特殊字符,但当用户键入特殊字符时,我想显示红色警告以及"不允许使用特殊字符",我该怎么做?

任何帮助表示赞赏!

谢谢

javascript regex special-characters angularjs angularjs-directive

5
推荐指数
1
解决办法
2625
查看次数

Angular 2/4:反应式表单是同步的,而模板驱动的表单是异步的,如何?

我正在阅读 angular.io 的文档(反应形式是同步的),试图理解反应形式(它们是如何同步的,模板驱动的形式是如何异步的)。

但是文档对 example 没有足够的解释。谁能帮我理解模板驱动的表单是如何异步的,反应式表单是如何同步的?

我试图在互联网上浏览很多博客,但没有得到答案。

任何帮助表示赞赏。

angular angular-reactive-forms angular4-forms

5
推荐指数
1
解决办法
2879
查看次数

如何使用angularjs点击按钮进入我们的本地下载图像?

嗨,我是新手angularjs,我在stackoverflow上看到了很多关于此的问题,但未能找到一个好的解决方案.

<button ng-click="download()">download</button>
Run Code Online (Sandbox Code Playgroud)

我的要求是(1)我不想使用<a>标签

(2)我不想使用<download>属性,因为它应该在所有浏览器中都受支持.

当用户单击下载按钮时,图像应下载到客户端的本地计算机.

假设图像来自某个网​​址

<script>
angular.module('myApp', []);

angular.module('myApp').controller('HomeCtrl', ['$scope', '$http', function($scope, $http) {

  $scope.download=function()
  {
      $http.get(url).success(function(data){
             // code to download image here
        }).error(function(err, status){})
  }

}]);
</script>
Run Code Online (Sandbox Code Playgroud)

javascript imagedownload angularjs angularjs-directive

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

AngularJs ng-change手动触发事件

 <input type="checkbox" value="" ng-model="filterPrivateDocCheckBox" ng-click="dl.filterPrivateDocument(filterPrivateDocCheckBox, $event)">
 <input st-search="target" class="input-sm form-control"  ng-model="dl.documentTarget" ng-change="dl.change()" />

function filterPrivateDocument(val) 
{
    if(val)
    this.documentTarget = 'Private';
}
Run Code Online (Sandbox Code Playgroud)

当我点击checkBox时,我将值设置为文本框,但是我看到ng-change事件没有被触发.为什么?

而且当我在文本框中键入一些值时,我发现ng-change事件被触发了.

解决这个问题的任何方法?

onchange angularjs angularjs-ng-change

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

正则表达式:匹配两个条件之一?

嗨,我对正则表达式了解不多。但是我在使用 angularJs 的表单验证中需要它。

下面是要求

输入框应仅在以下任一情况下接受

(1) 前 2 个字母 alpha + 6 个数字

或者

(2) 8 个数字

以下是一些正确的输入:-

(1)SH123456 (2)12345678 (3)sd456565

我试过data-ng-pattern="/(^([a-zA-Z]){2}([0-9]){6})|([0-9]*)?$/",它在上述两种情况下都可以正常工作,但它仍然接受像 S2D3E4F5 这样的字符串,也可能是许多其他组合。

我做错了什么我无法找到它。

任何帮助都是可观的!!!

谢谢

javascript regex angularjs angularjs-ng-pattern

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

业力测试用例运行多次:Angular 单元测试

我无法理解为什么我的业力测试用例在固定测试用例后重新运行多次。

已断开连接,因为 50000 毫秒内没有消息。Chrome 75.0.3770 (Windows 10.0.0):已执行 131 个,共 251 个已断开连接(1 分 9.028 秒/18.285 秒)

Chrome 75.0.3770 (Windows 10.0.0):已执行 131 个,共 251 个已断开连接(47.273 秒/18.169 秒)

Chrome 75.0.3770 (Windows 10.0.0):已执行 131 个,共 251 个已断开连接(1 分 9.028 秒/18.285 秒)

Chrome 75.0.3770 (Windows 10.0.0):已执行 131 个,共 251 个已断开连接(47.273 秒/18.169 秒)

Chrome 75.0.3770 (Windows 10.0.0):已执行 97 个,共 251 个已断开连接(22.07 秒/19.87 秒)

Chrome 75.0.3770 (Windows 10.0.0):已执行 131 个,共 251 个已断开连接(1 分 9.028 秒/18.285 秒)

Chrome 75.0.3770(Windows 10.0.0):执行了 251 次成功中的 131 次(0 秒/17.406 秒)

Chrome 75.0.3770(Windows …

unit-testing jasmine karma-jasmine package.json angular-unit-test

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