没有引号的角度打印字符串数组

时间:2014-12-02 00:14:17

标签: angularjs arrays angularjs-templates

我有一个来自服务器的简单字符串数组:

[{"things":["me", "my"]}]

在我的页面中,要显示我拥有的数组:

{{things}}

它打印出来:

["me", "my"]

如果我想删除括号和引号,如何控制打印?

3 个答案:

答案 0 :(得分:17)

您可以实现范围函数以将数组显示为逗号分隔的字符串,如 this fiddle 中所示。

$scope.array = ["tes","1","2","bla"];

$scope.arrayToString = function(string){
    return string.join(", ");
};

现在您可以在模板中调用此函数:

{{arrayToString(array)}}

<强>更新

您也可以直接在模板中使用join()数组方法,而不使用updated fiddle中显示的中间额外函数。

{{array.join(", ")}}

答案 1 :(得分:8)

我认为你需要ngRepeat之类的东西:

<div class="list" ng-repeat="thing in things">
  {{ thing }}
</div>

答案 2 :(得分:4)

您还可以选择使用某些高级格式创建自定义angular filter

package com.example.dmaharjan.myApp;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

public class BootUpReceiver extends BroadcastReceiver {
    private boolean status = false;

    @Override
    public void onReceive(Context context, Intent intent) {
        if(isInternetConnected(context)) {
            AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
            PendingIntent pi = PendingIntent.getService(context, 0, new Intent(context, MyService.class), PendingIntent.FLAG_UPDATE_CURRENT);
            am.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 500, 1000, pi);
        }
    }
    boolean isInternetConnected(Context context) {
        ConnectivityManager cm = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = cm.getActiveNetworkInfo();
        return networkInfo != null && networkInfo.isConnected();
    }
}

然后在module.filter('formatArray', ['OptionalInjection', function(OptionalInjection) { return function(value) { if (!angular.isArray(value)) return ''; return value.map(OptionalInjection.formatter).join(', '); // or just return value.join(', '); }; }]) 中写下html