草庐IT

表达力

全部标签

javascript - Angular 2 表达式解析器和 ng-init 指令

基本上,我正在寻找一种方法来实现Angular1.xngInit指令的对应物。我知道ngOnInitHook,而且它是初始化代码的推荐位置。我认为ngInit指令是一种快速、声明性的方式来原型(prototype)化或修复通常不应在编写良好的生产代码中使用的组件(尽管开发人员有权选择最适合他/她的方式).在init虚拟指令中做类似的事情多次计算表达式并导致Templateparseerrors:ParserError:Bindingscannotcontainassignments错误。在Angular1.x中,它可以用$parse($attrs.init)($scope)如何使用An

javascript - AngularJS 指令中的可选表达式属性

我有一个自定义导航指令需要一个可选的“禁用”属性,我不确定它是否可行。在我的主Controller中:.controller('NavCtrl',['UserResource','RoleResource'],function(UserResource,RoleResource){varuser=UserResource.getUser();varroles=RoleResource.getRoles();UserService.init(user,roles);//????});在我的指令中:.directive('navItem',function(){return{restric

javascript - 函数表达式的流通用类型(箭头函数)

我通常会尝试将流函数类型与其实现分开。当我写的时候,它的可读性稍微好一点:typeFn=string=>string;constaFn:Fn=name=>`hello,${name}`;而不是:constaFn=(name:string):string=>`hello,${name}`;当使用泛型类型时,我们可以这样写:constj=(i:T):T=>i;constjString:string=j('apple');//√constjNumber:number=j(7);//√但是我怎样才能将这种类型与函数表达式分开呢?typeH=(input:T)=>T;consth:H=i=>i;

javascript - 自调用匿名函数表达式

(function(){...})();我看过this发布并对此有所了解。但几乎没有更多疑问,主要是关于它的使用方式。就像一个静态block!因为它像一个静态block(self调用!),它可以用于初始化(就像一些虚构的常量)?但是没有可用的getter从它获取任何东西并在别处使用它!返回,必须吗?上面的解决方案是在那个函数中有一个return?这样我就可以获取它返回的任何内容并使用它。引用全局对象?!(function(window,undefined){})(this);上面代码的解释在引用的post的第二个答案中,我无法理解,如果有人能解释得更多(或对我来说更简单),那就太好了更

javascript - 具有 Modernizr 值的 Angular 表达式?

如果没有对新输入类型的html5native浏览器支持,我想显示不同的控件。我希望做这样的事情:Modernizrsaysdatetime-localissupported!但是,Modernizr似乎不适用于Angular表达式。是否可以在启动时将我感兴趣的所有Modernizr值放在根作用域中,以便它们可以用于表达式中,或者是否有更好的方法? 最佳答案 您可以将所有Modernizr放在rootScope上,它会起作用(注意ng-show中的Modernizr.inputtypes.datetime-local应该是Modern

javascript - 如何在 Angular 表达式中获取一种范围变量?

让我们在作用域上定义简单的bool值:varmymodal=angular.module('mymodal',[]);mymodal.controller('MainCtrl',function($scope){$scope.b=false;});如何获取表达式中变量的类型?typeOf和Object.prototype.Tostring.call不起作用。{{b}}{{typeOf(b)}}{{Object.prototype.toString.call(b)}}这是JSFiddle:http://jsfiddle.net/g8Ld80x3/2/ 最佳答案

javascript - ES8 立即调用异步函数表达式

我没有看到这些构造被广泛使用,但我发现自己编写它们是为了在通常不会返回promise的函数中使用async/await,例如chan.consume(queue,(msg)=>{this.pendingMsgs++;//executedimmediately(async()=>{awaitthis.handleMessage(msg);this.pendingMsgs--;if(cancelled&&this.pendingMsgs===0){awaitchan.close();awaitthis.amqpConnectionPool.release(conn);}})();});相对

javascript - Javascript 中算术表达式的安全评估

我需要在Javascript中评估用户输入的算术表达式,如“2*(3+4)”,但出于安全原因我不想使用eval。我可以删除所有不是数字或运算符的字符,但我不确定这是否安全,如果用户可以使用像cos、sqrt等...有没有做算术表达式计算的Javascript库? 最佳答案 你可以试试JavaScriptExpressionEvaluator:ThislibraryisamodifiedversionofRaphaelGraf’sActionScriptExpressionParser.WhenIwrotetheJavaScriptF

javascript - 为什么不能将函数表达式字符串化?

为什么这不产生任何东西?console.log(JSON.stringify(function(){console.log('foobar');})); 最佳答案 JSON根本无法将函数字符串化,它处理它们就像处理undefined或null值一样。您可以在EcmaScript5.1§15.12.3查看确切的算法。,另见descriptionatMDN.但是你当然可以通过将它们转换为字符串来将函数表达式字符串化,试试console.log(""+function(){console.log('foobar');})

javascript - Angularjs 打破了 coffeescript 函数表达式

我正在努力将AngularJs集成到一个示例Nodejs应用程序中。我的Controller如下:UsersCtrl=($scope,$http)->$scope.newUser={}$scope.users=[name:"aloman"email:"aloman@example.com"]编译成javascript://GeneratedbyCoffeeScript1.3.3(function(){varUsersCtrl;UsersCtrl=function($scope,$http){$scope.newUser={};return$scope.users=[{name:"alo