草庐IT

application-scope

全部标签

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 - 使用 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 - application/json-p text/json-p 已经可以实现了吗?

我读过http://www.json-p.org/它声明了一个更安全、更严格的JSON-P子集。ThemostcriticalpieceofthisproposalisthatbrowservendorsmustbegintoenforcethisruleforscripttagsthatarereceivingJSON-Pcontent,andthrowerrors(oratleaststopprocessing)onanynon-conformingJSON-Pcontent.我的问题是JSON-P的子集是否已经可以实现? 最佳答案

javascript - 错误 : Resource interpreted as Document but transferred with MIME type application/pdf

我正在从我的服务器向客户端发送PDF流,然后在中显示该PDF客户端中的标记。这是我的代码:server.jsrouter.get('/pdf',function*(){varstream=getMyFileStream();this.set('Content-Type','application/pdf');this.response.body=stream;});client.jsvarobjectElement=document.querySelector('object');fetch('/pdf',request).then(res=>res.blob()).then(blob

javascript - three.js 问题 : application suddenly wont work on Chrome - old code, 无法与新的 three.js 库一起使用

前一段时间我写了几个three.js(R48)应用程序,它们一直运行良好,直到几周后我发现它们不再适用于Chrome。以下是前几条错误消息:WebGL:INVALID_OPERATION:getAttribLocation:programnotlinkedskyWheel.html:18WebGL:INVALID_OPERATION:getUniformLocation:programnotlinkedskyWheel.html:1CouldnotinitialiseshaderVALIDATE_STATUS:false,glerror[1282]Three.js:35529WebGL

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