我有JSON格式的数据,然后使用ng-repeat
显示。我编写了一个过滤器,找到%
simbol的位置,然后对字符串进行切片。现在我想在我的视图的ng-repeat中连接另一个字符串(field.FIELD6
)。我已将控制器中的JSON数据添加到$rootScope
,但不知道如何从此处继续。
有办法吗?过滤器是错误的方法,你会怎么做?
感谢您的帮助。
app.js:
'use strict';
angular
.module('peroApp', [
'ngAnimate',
'ngCookies',
'ngResource',
'ngRoute',
'ngSanitize',
'ngTouch'
])
.filter('klicaj', function() {
return function(input) {
var n = input.indexOf("%");
var out = "";
//if string doesn't contain %
if(n === -1) {
out = input;
}
//if string contains %
else {
out = input.slice(0, n);
//CONCATENATE STRING HERE
}
return out;
};
});
main.html中:
<ul ng-repeat="field in live">
<li> {{ field.FIELD1 }}</li>
<li> {{ field.FIELD2 }}</li>
<li class="url">{{ field.FIELD3 }}/{{field.FIELD4 | klicaj }}/{{ field.FIELD5 | klicaj }}</li>
</ul>
main.js:
'use strict';
angular.module('peroApp')
.controller('MainCtrl', function ($rootScope) {
$rootScope.live = [
{
"FIELD1":2,
"FIELD2":0,
"FIELD3":"SCR",
"FIELD4":"FT",
"FIELD5":"1X2",
"FIELD6":"",
"FIELD7":"3way"
},
{
"FIELD1":8,
"FIELD2":1274,
"FIELD3":"SCR",
"FIELD4":"FTaI!5",
"FIELD5":"ATTTL!2!%1$s",
"FIELD6":"(\\d+.\\d+)",
"FIELD7":"Asian total awayteam after 5 innings"
}
];
});
答案 0 :(得分:0)
您可以通过使用:
示例:如果要将控制器引用传递给过滤器klicaj
{{field.FIELD4 | klicaj:controllerRef }}
现在filter函数中的第二个参数是controllerRef。
您还可以向过滤器传递多个引用。