草庐IT

字段命名

全部标签

javascript - 我可以告诉 Closure 编译器仅针对特定类型停止重命名属性吗?

此问题如下:WhydoesClosurecompilerrenamepropertiesofanexterntype?约翰对这个问题的回答引出了第二个问题。如果我按照建议声明外部类型:/**@interface*/functionSpanishNoun(){}/**@type{string}*/SpanishNoun.prototype.english;/**@type{string}*/SpanishNoun.prototype.spanish;然后像这样的Javascript:/***@param{SpanishNoun}n*/exp.foo=function(n){console

javascript - 如何在不污染全局命名空间的情况下公开 javascript 对象进行单元测试

我有一个javascript自动完成插件,它使用以下类(用coffeescript编写):Query、Suggestion、SuggestionCollection和Autocomplete。这些类中的每一个都有一个用Jasmine编写的相关规范。插件在模块中定义,例如:(function(){//plugin...}).call(this);这可以防止类污染全局命名空间,但也可以将它们隐藏在任何测试中(使用jasmine的规范,或使用类似q-unit的单元测试)。在不污染全局命名空间的情况下公开javascript类或对象以进行测试的最佳方法是什么?我会用我想出的解决方案来回答,但我

Javascript 命名空间约定

我不确定哪个是更好的命名空间约定。varApp={};//globalvariable,therootofournamespace(function(){App.something=function(){}})();或(function(){window.App={};//globalvariable,therootofournamespaceApp.something=function(){}})();window.App和varApp都是全局变量,所以两种约定都能达到相同的结果,但哪个更好? 最佳答案 唯一的区别是在第一个变体中

javascript - 当浏览器滚动到命名 anchor 时是否会触发事件?

当使用命名anchor链接到页面时,例如page.html#heading浏览器将加载页面,然后跳转到anchor。完成后是否会触发浏览器事件?解释一下我背后的原因:我想使用事件在浏览器中触发动画。非常感谢。 最佳答案 更改哈希会触发hashchangeevent.但是,我不认为它会在加载链接已设置哈希的url时触发。但是如果您希望某个脚本根据哈希值运行,您可以在页面加载时检查哈希值(location.hash)。 关于javascript-当浏览器滚动到命名anchor时是否会触发事件

javascript - 当浏览器自动填写表单字段时,$parsers\$formatters 函数不会触发

我的应用程序中有一个特定的自定义验证指令(下面附有代码)。问题是,当需要一个或多个表单字段时,chrome会自动填充它们,这些字段将保持无效,直到用户手动更改它们。我怀疑发生这种情况是因为chrome在angularevenbootstraps之前填充了字段。有办法解决这个问题吗?代码:app.directive('myValidate',function($timeout,$filter){return{require:'ngModel',link:function(scope,elm,attrs,ctrl){varvalidator=function(viewValue){varv

javascript - Angularjs 以各种形式动态添加表单字段

我正在使用ng-repeat创建一堆包含值的表单。对于每个表单,还有一个按钮可以将行添加到具有新字段的特定表单。代码如下HTML:{{form.name}}SubmitAddJavascript:varapp=angular.module('plunker',[]);app.controller('MainCtrl',function($scope){$scope.forms=[{"name":"form1","ac":251,"a_number":"7933","p_id":33},{"name":"form2","ac":252,"a_number":"7933","p_id":4

javascript - 在 Javascript 中允许命名参数或位置参数

我怎样才能让函数接受任一个命名参数(foo({a:'hello',b:'itisme'}))或位置参数(foo('hello','itisme'))?我知道可以通过将对象传递给函数来模拟命名参数:functionfoo(options){options=options||{};vara=options.a||'peanut';//whateverdefaultvaluevarb=options.b||'butter';//whateverdefaultvalueconsole.log(a,b);}//ES6allowsautomaticdestructuringfunctionfoo(

javascript - 以编程方式更新 Angular 2 字段

我有以下工作正常的表单域。我的意思是,当我在字段中键入、粘贴等时,fooObj.expDate会实时更新并进行验证。我有预标记,可以让我自己明白这一点。{{fooObj.someDate|json}}SomeDate但是,我在这个字段上有someDate指令。该指令拦截粘贴事件。它取消粘贴事件,对输入进行一些奇特的格式化,然后执行此操作:setTimeout(()=>{this.target.value='lolfancydate';},3000);target.value是我的someDate字段。该值在输入框中得到了很好的更新(我看到它在输入内的屏幕上发生了变化)。但是,fooOb

javascript - 多个命名路由器导出 - 组件已导入但未初始化和呈现

我在网络应用程序中使用多个命名的angular8router-outlet。所有routerLink似乎都有效,因为它更改了URL,但我的第二个router-outlet中的组件已导入但未初始化或呈现。我在这里提供了Stackblitz:https://stackblitz.com/edit/ng-multiple-router-outlet?file=src/app/app.component.ts如您所见,当您点击侧边栏时,在照片下您可以通过点击Google或Facebook获得第二个导航级别,但不会呈现任何内容。在模块中,其他模块和RouterModule中使用的组件被很好地导出

javascript - Django 根据其他字段动态设置字段值

我正在尝试根据其他外部字段选择设置字段默认值。基本上,这些是类:classProduct(models.Model):description=models.CharField('Description',max_length=200)price=models.FloatField('Price')classSell(models.Model):product=models.ForeignKey(Product)price=models.FloatField('Price')每个“产品”都有一个默认价格(或建议价格),因此当用户在管理页面中想要添加一个新的销售并选择一个产品时,我需要从P