可能这是一个愚蠢的问题,但我无法摆脱它。 在一个AngularJS webapp中,我用一个过滤器拆分了一个从JSON得到的字符串我无法修改:现在整个字符串(日期+小时)被分成一个由2个元素组成的数组(array [0] = date,array [1] =小时),但我不知道如何只获取HTML中的第一个。
我不能将单个元素作为范围传递,我不能使用ng-repeat,因为我必须为每个元素分配不同的类。
HTML:
<span class="time">{{manif.avvenimento.data | split:' '}}</span>
以HTML格式打印的结果:
["03/02/2014","20:40"]
我需要得到这样的东西:
<span class="A">03/02/2014</span>
<span class="B">20:40</span>
谢谢大家!
答案 0 :(得分:2)
我会将两个字符串放在一个单独的对象中。这样你就不会在每个摘要周期中执行字符串拆分,这对性能更有利。
在您的控制器中:
$scope.timestamp = {
'date': '',
'time': ''
}
$scope.$watch(manif.avvenimento.data, function (newValue, oldValue) {
$scope.timestamp.date = ... // Place the date here
$scope.timestamp.time = ... // Place the time here
});
在您的HTML中:
<span class="time">{{timetamp.time}}</span>
<span class="date">{{timetamp.date}}</span>
答案 1 :(得分:0)
最有可能这样做:
<span class="date">{{ (manif.avvenimento.data | split:' ')[0] }}</span>
<span class="time">{{ (manif.avvenimento.data | split:' ')[1] }}</span>
答案 2 :(得分:0)
要从后端获取JSON数组,请将以下内容添加到AngularJS控制器:
var dtRes = $resource('URL to your resource object');
$scope.dtArr = dtRes.query();
然后使用以下方法在HTML中迭代它:
<li data-ng-repeat="dt in dtArr">
<span>{{dt.date}} {{dt.time}}</span>
</li>