繁体   English   中英

AngularJS:将字符串拆分为数组,获取第一个元素

[英]AngularJS: Splitted string as array, get first element

可能这是一个愚蠢的问题,但我真的无法摆脱。 在一个AngularJS Web应用程序中,我用一个过滤器拆分了一个从JSON中获取的字符串,我无法修改:现在,整个字符串(日期+小时)被分成一个由2个元素组成的数组(array [0] = date,array [1] = hour),但我不知道如何仅获取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>

谢谢你们!

我将两个字符串放在一个单独的对象中。 这样一来,您就不会在每个摘要周期中执行字符串拆分,这对于性能而言会更好。

在您的控制器中:

$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>

最有可能这样做:

<span class="date">{{ (manif.avvenimento.data | split:' ')[0] }}</span>
<span class="time">{{ (manif.avvenimento.data | split:' ')[1] }}</span>

要从后端获取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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM