草庐IT

scope-identity

全部标签

javascript - AngularJS 指令 : compile template and watch scope

我在Angularjs上编写了一个非常复杂的应用程序。这已经大到让我感到困惑了。我对Angular进行了更深入的研究,发现我的代码很糟糕。我理解这个概念:module.directive('createControl',function($compile,$timeout){scope:{//scopebindingswith'='&'@'},template:'Templatestringwithbinded{{variables}}',link:function(scope,element,attrs){//Functionwithlogic.Shouldwatchscope.}我

javascript - $scope 的方法通过 ng-click 调用 : executed twice by IE

在我的Controller中:$scope.homeAction=function(){console.log("HomeAction");};在我看来:callhomeAction()单击按钮时,Chrome和Firefox会按预期执行该方法,但IE会执行两次。知道为什么吗?这是一个重现问题的plunker:http://plnkr.co/edit/pedZKjIVGDAYfMl0ZphJ. 最佳答案 只需将type="button"添加到您的按钮,它就会被修复。默认行为是提交,这显然会扰乱您的代码。callhomeAction(

javascript - 我应该总是将函数绑定(bind)到 $scope 对象吗?

当我创建Controller时,我总是将函数添加到$scope对象,像这样:functionDummyController($scope){$scope.importantFunction=function(){/*...*/};$scope.lessImportantFunction=function(){/*...*/};$scope.bussinessLogicFunction=function(){/*...*/};$scope.utilityFunction=function(){/*...*/};}当然,我会很好地封装我的Controller,确保业务逻辑位于适当的组件(通

javascript - chrome.identity.launchWebAuthFlow 的正确重定向 URL 是什么?

我想使用chrome.identityChrome打包应用程序中的API允许用户使用github进行身份验证.在应用方面,我很满意:chrome.identity.launchWebAuthFlow({'url':'https://github.com/login/oauth/authorize?client_id=clientidgoeshere','interactive':true},functionToTakeRedirectURL);但我不确定github端的重定向URL应该是什么。当应用上线时,我会将重定向URL设置为https://appidgoeshere.chromi

javascript - 使用 Jasmine 2.0 对 $scope.$evalAsync 函数进行单元测试

我正在尝试对$scope.$evalAsync函数进行单元测试。这是我的代码:$scope.$evalAsync(function(done){//enablethepopoverplugindone();jQuery('[data-toggle="popover"]').popover();$scope.isKioskIdLoaded.state=true;});我很难理解如何让evalAsync在我的Jasmine测试中运行。我正在尝试利用Jasmine2.0中的done()函数。 最佳答案 您需要将$scope.$digest

javascript - $scope.$on ('$destroy' , ...) 的事件处理程序是否被销毁?

今天遇到了一个非常“深奥”的Angular问题,我找不到答案。来自$scope文档,您可以在"$destroy"上注册一个事件处理程序,它会在作用域销毁之前立即调用。这样,您就可以像这样注销事件处理程序:varderegister=$scope.$on('myCustomEvent',function(){//dosomecrazystuff});$scope.$on('$destroy',function(){deregister();});但是,$scope.$on('$destroy',...)必须创建自己的处理程序。它是自动销毁的,还是必须执行以下操作才能销毁它?vardere

javascript - 在指令中调用 $compile($element)($scope) 的目的是什么

Angular码placedonjsfiddle关于自定义指令,它使用$compile($element)($scope)并导致ng-click操作发生两次:我的问题是:我想了解为什么会发生ng-click操作两次?调用$compile($element)($scope)的目的是什么?如果不调用会发生什么,在什么情况下应该调用叫什么?以下是详细信息以及我目前收集到的信息:我想明白,为什么ng-clickAction会发生两次?下一行显示了自定义指令“hello”和ng-click按钮。自定义指令调用$compile($element)($scope)并且这是导致操作被触发两次的行,但我

javascript - Codility 训练 : Find the maximal number of clocks with hands that look identical when rotated

这是问题的链接:https://codility.com/demo/take-sample-test/clocks问题是我不能从中得到100分(只有42分)。运行时间还可以,但对于某些测试用例,代码给出了错误的答案,但我无法弄清楚问题出在哪里。有人可以帮帮我吗?这是我的代码:functionrotate(arr){varmin=arr.reduce(function(a,b){returna>b?b:a});while(arr[0]!=min){varfirst=arr.shift();arr.push(first);}}functionsolution(A,P){varpositio

javascript - 将函数参数传递给 $scope.$apply?

我正在使用$scope.$apply进行回调,特别是Stripe。目前我有一些代码,比如varstripeCallback=function(status,response){if(!response.error){//dosomething}else{//dosomethingelse}};$scope.submit=function(){$scope.errorMessage='Processing...';$scope.buttonDisabled=true;//can'tusebindingsforsomereasonvarmyForm=$('#paymentform');St

javascript - Angular 链接函数 : $Scope vs Scope

在我在教程中看到的AngularDirective(指令)中link:function($scope,$element,attrs)或link:function(scope,element,attrs)现在我知道“$”在Angular中表示服务,这在这里成立吗?$scope和scope之间到底有什么区别?element与$element也是一样 最佳答案 在您的具体示例中,链接函数中的参数命名并不重要。当Angular处理指令时,它会将范围、元素和属性(如果已配置,甚至是Controller实例)传递给链接函数。你可以这样做(不推荐