我使用的是UI.Bootstrap手风琴,我的标题定义如下:
<accordion-group ng=repeat="(cname, stations) in byClient">
<accordion-heading>
{{ cname }} <span class="pull-right"> {{ Object.keys(stations).length }} Stations</span>
</accordion-heading>
当那显示Object.keys(stations).length
解析为无。如果我在控制器中拨打相同长度的电话,我将获得预期的计数。有什么阻止方法调用在AngularJS中工作的吗?
使用该手风琴的其余部分的stations
行为均符合预期,因此我知道它的填充正确。该byClient
数据结构基本上看起来像这样:
{
"Client Name" : {
"Station Name": [
{...},
{...}
]
}
}
是的,因为这Object
是的一部分,window/global
而angular无法根据范围评估该表达式。当您Object.keys
在绑定中指定时,angular尝试针对进行评估$scope
,但找不到。您可以将object.keys
root
的引用存储在rootScope中的某个实用程序中,并在应用程序中的任何位置使用它。
像这样的东西:
angular.module('yourApp',[deps...]).run(function($rootScope){
//Just add a reference to some utility methods in rootscope.
$rootScope.Utils = {
keys : Object.keys
}
//If you want utility method to be accessed in the isolated Scope
//then you would add the method directly to the prototype of rootScope
//constructor as shown below in a rough implementation.
//$rootScope.constructor.prototype.getKeys = Object.keys;
});
并将其用作:-
<span class="pull-right"> {{ Utils.keys(stations).length }} Stations</span>
好吧,这对于除隔离范围之外的所有子范围都可用。如果您打算在隔离范围内执行此操作(例如:-隔离范围指令),则需要Object.keys
在范围上添加引用,或者在范围内公开将返回长度的方法时。
或者更好的是,创建一个格式过滤器以返回密钥长度并在任何地方使用它。
app.filter('keylength', function(){
return function(input){
if(!angular.isObject(input)){
throw Error("Usage of non-objects with keylength filter!!")
}
return Object.keys(input).length;
}
});
并做:
{{ stations | keylength }}
演示版
问题内容: 在我的Android应用程序中,我无法使用JDK 1.6中的 String.isEmpty() 函数。Android 2.1 lib在java.lang.String类中没有此功能 我尝试将JRE系统库输入到我的项目中,因为它具有此功能,但是没有效果。 如何解决此问题并允许我的应用程序使用此功能? 问题答案: 如何解决此问题并允许我的应用程序使用此功能? 你不能 使用代替。它一直向下兼
问题内容: 我正在尝试使用Angularjs从USGS地震供稿中收集数据。通常,您需要在URL末尾添加?callback = JSON_CALLBACK以便Angular使用它,但是USGS提要无法识别此选项。 JSON_CALLBACK(例如,http ://earthquake.usgs.gov/earthquakes /feed/v1.0/summary/all_day.geojsonp?c
问题内容: 我想在一个链中进行多个Ajax调用。但我也想在每次通话后按摩数据,然后再进行下一次通话。最后,当 所有 调用成功时,我想运行其他代码。 我正在为我的Ajax调用使用Angular $ http服务,并坚持这一点。 可能吗? 问题答案: 是的,由于AngularJS的服务是围绕PromiseAPI构建的,因此可以非常优雅地对其进行处理。基本上,对方法的调用会返回一个Promise,您可以
你好,我正在开发Angularjs应用程序。我正在尝试调用post方法,但我无法调用post方法。 下面是我的代码。 在请求头,我可以看到请求方法:选项,但我做了POST请求?我能知道我做错了什么吗?如有任何帮助,我们将不胜感激。谢谢.
下面是链接中的Netflix Eureka的Spring云服务发现教程:https://howtodoinjava.com/spring/spring-cloud/spring-cloud-service-discovery-netflix-eureka/. 在源代码中,我简单地使用了version而不是,没有其他更改。 我试着打电话给spring eureka客户端学生服务,使用http://l
问题内容: 这是我的plnkr:http ://plnkr.co/edit/n8cRXwIpHJw3jUpL8PX5?p=preview 您必须单击li元素,然后表格会出现。输入一个随机字符串,然后点击“添加通知”。代替textarea文本,您将得到未定义。 标记: JS部分: 返回“未定义”。我注意到当使用angular-ui的ui-if时,这不起作用。任何想法为什么这不起作用?如何解决? 问题