簡體   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