Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng重复和字符串替换表达式值_Javascript_Json_Angularjs_Node.js_Express - Fatal编程技术网

Javascript ng重复和字符串替换表达式值

Javascript ng重复和字符串替换表达式值,javascript,json,angularjs,node.js,express,Javascript,Json,Angularjs,Node.js,Express,我无法找到在使用ng repeat指令时删除角度表达式中的子字符串的解决方案 控制器位于外部javascript文件中,html如下所示 函数myController($scope,$http){ $http.get('http://localhost:3000/people.json'). 成功(功能(数据){ $scope.persons=数据; }); } 名称 身份证件 地址 ((人名}} {{person.id} {{个人地址} 向控制器添加一个函数。类似 $scope.strip

我无法找到在使用ng repeat指令时删除角度表达式中的子字符串的解决方案

控制器位于外部javascript文件中,html如下所示

函数myController($scope,$http){
$http.get('http://localhost:3000/people.json').
成功(功能(数据){
$scope.persons=数据;
});
}

名称
身份证件
地址
((人名}}
{{person.id}
{{个人地址}

向控制器添加一个函数。类似

$scope.stripAddr = function(address) {
  return address.substring(5);
}
并将您的html更改为

<td>{{stripAddr(person.address)}}</td>
{{stripAddr(person.address)}

请原谅我的javascript中的错误,我一直在使用coffescript,但我希望你能理解我的想法,在你的控制器中添加一个函数

$scope.stripAddr = function(address) {
  return address.substring(5);
}
并将您的html更改为

<td>{{stripAddr(person.address)}}</td>
{{stripAddr(person.address)}

请原谅我的javascript中的错误,我一直在使用coffescript,但我希望你能想到使用过滤器这可能是最好的方法。你可以在任何地方重复使用该过滤器,如果你想删除一些匹配的字符串,就像这里我们使用的
addr

HTML

<tr ng-repeat="person in persons" class="text-center">
  <td>((person.name}}</td>    
  <td>{{person.id}}</td>
  <td>{{person.address}}</td>
</tr>


谢谢。

使用过滤器,这可能是最适合您的方法。您可以在任何地方重复使用该过滤器,如果您想删除一些匹配字符串,就像我们使用的
addr

HTML

<tr ng-repeat="person in persons" class="text-center">
  <td>((person.name}}</td>    
  <td>{{person.id}}</td>
  <td>{{person.address}}</td>
</tr>

谢谢。

试试看

<td>{{person.address.substring(5)}}</td>
{{person.address.substring(5)}
试试看

{{person.address.substring(5)}

这也有效。老实说,它在html中看起来有点干净,这和answer与RoyTheBoy提供的一个有什么显著的性能差异吗?是的,你可以在任何你想删除字符串的地方使用它,就像这里我们删除
addr:
。这是可重用的代码..并且使用特定的索引来替换字符串不是吗太多了。如果RoyTheBoy中的文本更改为
地址:
,会发生什么answer@dwrecked现在你决定哪种方法更好了..谢谢这也行。它在html中看起来更干净了。老实说,这个和答案与RoyTheBoy提供的有什么显著的性能差异吗?是的,你可以在任何地方使用它在您想要像这里这样删除字符串之前,我们删除
addr:
。这是可重用的代码..并且使用特定的索引来替换字符串不是很多..如果文本在RoyTheBoy中更改为
地址:
,会发生什么answer@dwrecked现在你来决定哪种方法更好。。Thanks@roytheboy如果将来的文本更改变为它变成了
地址:
,而不是
地址:
,或者为其他需求编写相同的逻辑。这可能会导致重写代码。@pankajparkar我只是想说明原理,并尽可能使javascript简单,因为我对coffeescript更满意。更改javascript以解析strin非常容易正确地说是g。@RoyTheBoy,但是直接使用索引是不好的thing@pankajparket.正如我所说的,我只是在说明原理,因此是“类似的”。只需将答案中的子字符串(5)替换为value.split(“addr:”).pop()。我们答案的真正区别在于是使用过滤器还是控制器函数。我只是觉得后者通常更通用。例如,“addr”可以作为数据传递给控制器并在我的函数中使用。@RoyTheBoy我更喜欢过滤器,这将使事情更具角度性。。你的解决方案也很好。。但听起来不像泛型和可恢复性?@roytheboy如果将来文本更改为
地址:
,而不是
地址:
,或者为其他需求编写相同的逻辑,会发生什么情况。可能会导致重写代码。@pankajparkar我只是想说明这一原理,并尽可能使javascript简单,因为我更高兴使用coffeescript。更改javascript以正确解析字符串很容易。@RoyTheBoy但直接使用索引并不好thing@pankajparket.正如我所说的,我只是在说明原理,因此是“类似的”。只需将答案中的子字符串(5)替换为value.split(“addr:”).pop()。我们答案的真正区别在于是使用过滤器还是控制器函数。我只是觉得后者通常更通用。例如,“addr”可以作为数据传递给控制器并在我的函数中使用。@RoyTheBoy我更喜欢过滤器,这将使事情更具角度性。。你的解决方案也很好。。但听起来不像通用和可恢复?