我只是想替换作为ng-repeat一部分的项中的空字符串,所以我可以将它用作div元素的id。适用于第一个空白区域。我想要一个全局替换并尝试类似/ / g的东西,但是代码中的引号搞砸了它或者我做得不对。
我试过这个
<div ng-repeat="list in list">
<div id="{{list.name.replace(' ','_');}}" ></div>
答案 0 :(得分:3)
我建议您创建一个function
并在您的视图中调用它。
这是代码段正在运行:
angular.module('app', [])
.controller('mainCtrl', function($scope) {
$scope.list = [
{
"name": "noempties"
},
{
"name": "a empty string"
},
{
"name": "more empties a a a a a"
}
];
$scope.replace_chars = function(obj) {
return obj.name.replace(/\s/g, '_');
};
});
&#13;
<!DOCTYPE html>
<html ng-app="app">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.7/angular.min.js"></script>
</head>
<body ng-controller="mainCtrl">
<div ng-repeat="lst in list track by $index">
<!-- The ng-bind was used only to show how it was after replace -->
<div id="{{replace_chars(lst)}}" ng-bind="'div id: ' + replace_chars(lst)"></div>
</div>
</body>
</html>
&#13;
答案 1 :(得分:0)
使用ng-bind
<div id="checkText(lst.name);" ng-bind="checkText(lst.name);"></div>
控制器中的
$scope.checkText = function(text) {
return text.replace(' ','_');
};