我有一个来自服务器的简单字符串数组:
[{"things":["me", "my"]}]
在我的页面中,要显示我拥有的数组:
{{things}}
它打印出来:
["me", "my"]
如果我想删除括号和引号,如何控制打印?
答案 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
。