草庐IT

angularjs-ng-if

全部标签

javascript - 如何在准备好 angularjs 的 $rootScope 上注册一个函数

我需要在angularjs中注册一个随处可用的方法。此方法有2个参数(资源ID,删除成功时的回调),它使用资源提供程序来实际删除项目。然后要注册它,我需要angularjs向我注入(inject)$rootScope和MyResourceProvider。我的第一个想法是在我的主页Controller中这样做:varHomeCtrl=function($rootScope,MyResourceProvider){$rootScope.confirmAndDeletePackage=function(sId,fCallback){//dosomestuffMyResourceProvid

javascript - 如何在 AngularJS 的父 Controller 或作用域中访问 FormController

我有一个包含多个表单的页面,我只想一次显示一个。为此,我将每个表单分成一个部分,并使用Bootstrap的Accordion插件一次只允许打开一个部分。我的标记看起来像这样:Section1Section2一切正常,我可以在表单之间导航等。因为我不希望用户在当前正在编辑的部分包含验证错误的情况下打开该部分,所以我尝试检查open_section如果与其关联的表单有效或无效,则函数。我试过了,但我做不到。我无法访问与负责页面的Controller中的表单关联的FormController。由于某种原因,它们没有在范围内发布。这是我尝试过的:$scope.section1Form是unde

javascript - 如何将值传递给 AngularJS $http 成功回调

在我的AngularJS应用程序中,我正在执行以下操作$http.get('/plugin/'+key+'/js').success(function(data){if(data.length>0){console.log(data);//HereIwouldalsoneedthevalueof'key'}});现在我需要在成功回调中访问key值,即我需要知道在发出get()请求时它具有哪个值。任何“最佳实践”如何做到这一点?PS:我可以做到以下几点,但是有没有更好的办法呢?varkey=config.url.split('/')[2]; 最佳答案

javascript - Angularjs 在 Controller 之间共享方法

我正在阅读thisarticle在Angular验证上,我认为在我自己的项目中使用它会很好。它工作得非常好,我想在成功验证表单后扩展它在其他Controller中的访问方法。我已经尝试了多种方法来做到这一点,但我似乎看不到$scope对象中的方法。SimpleLoginFormRequiredRequiredLogin我希望有人能告诉我我缺少什么才能完成这项工作。我fork了一个plunkr. 最佳答案 执行此操作的正确方法是使用Angular服务。例如:app.factory('svc',function(){varmsg="or

javascript - angular - ng-if - 如何在 ng-if 模板渲染后回调

在Angular中,我需要在加载具有特定类的元素后调用一个函数。元素的显示通过ng-if='expr'控制。$scope.expr的值在某个ajax调用响应后设置。现在,如果我尝试将$watch放在expr上,或者使用$evalAsync。它不工作。可能是因为这些事件在模板部分实际运行之前运行。这是一个示例代码:http://jsbin.com/kuyas/1/edit在这里,我需要在ng-if上进行回调,它会在模板呈现后执行。 最佳答案 一个可能的答案是创建一个指令来执行您想要执行的任何操作。如果您随后仅在ng-if控制的HTML

javascript - 如何在angularJS中将输入字段设置为ng-invalid

我想检查信用卡号的输入字段。该字段在最小长度为13之前应保持无效。由于用户应该能够在该字段中填充空格,因此我在javascript函数中删除了这些空格。在此函数中,我想检查信用卡号(不带空格)并将其设置为ng-invalid,只要最小长度小于13且最大长度大于16。应该是这样的:$scope.ccHandler=function(){if($scope.ccNumber==''){document.getElementById("ccProvider").disabled=false;}$scope.ccNumber=inputCC.value.split('').join('');/

javascript - 使用 IE11 的文本区域和占位符属性的 AngularJS v1.2.5 脚本错误

我有一个无法在IE11中运行的AngularJSv1.2.5表单。它在Firefox、Chrome、Safari中运行良好。我的表单在占位符属性中使用带有插值的文本区域。Hello{{name}}!如果用插值指定占位符属性,我会得到以下错误(仅在IE中)。Error:Invalidargument.atinterpolateFnWatchAction(https://localhost:44300/Scripts/angular.js:6410:15)at$digest(https://localhost:44300/Scripts/angular.js:11581:23)at$app

javascript - 当达到字符限制时,AngularJS 阻止在文本区域上输入

当达到最大字符数时,如何阻止用户在文本区域中输入更多字符?我现在正在使用ng-keypress,但我不知道如何在达到限制时阻止输入。用户在该文本区域中输入或粘贴的字符总数不应超过1000个。问题是关于如何停止输入,而不是如何计算输入长度,这部分对我来说已经很好用了。Plunkerlink.$scope.$watch('comment.Comment.body',function(newValue,oldValue){if(newValue){$scope.commentLength=1000-newValue.length;}});//Triedthis,nothingstopsit$

javascript - JavaScript 中的一行 if/else

这个问题在这里已经有了答案:CanIwriteanifstatementwithinaJavascriptobjectwhensettinganattribute?(7个答案)关闭7年前。我有一些逻辑可以通过开/关来切换(withandelse/if)true/false,但我想让它更简洁而不使用switch语句。理想情况下,if/else将被转换成一小段内容。谢谢!!!varproperties={};varIsItMuted=scope.slideshow.isMuted();if(IsItMuted===true){properties['Value']='On';}else{p

IF语句中的javascript多个OR条件

我想我在这里遗漏了一些基本的东西。为什么第三个IF条件为真?条件不应该评估为假吗?我想做一些ID不是1、2或3的事情。varid=1;if(id==1)//trueif(id!=1)//falseif(id!=1||id!=2||id!=3)//thisreturnstrue.why?谢谢。 最佳答案 通过OR(||)操作,如果任何一个条件为真,则结果为真。我认为您需要在此处进行AND(&&)操作。 关于IF语句中的javascript多个OR条件,我们在StackOverflow上找到