在本文中,您将会了解到关于如何在AngularJs中将Regex与ng-repeat结合使用?的新资讯,同时我们还将为您解释angularjsng-change的相关在本文中,我们将带你探索如何在An
在本文中,您将会了解到关于如何在AngularJs中将Regex与ng-repeat结合使用?的新资讯,同时我们还将为您解释angularjs ng-change的相关在本文中,我们将带你探索如何在AngularJs中将Regex与ng-repeat结合使用?的奥秘,分析angularjs ng-change的特点,并给出一些关于angularjs – 如何在Angular JS中的指令的模板中使用“ng-repeat”?、angularjs – 如何在angular.js中重复解析ng-repeat中的HTML、angularjs – 如何在包含ng-repeat的选择上触发ng-change、angularjs – 如何在嵌套的ng-repeats中获取索引的实用技巧。
本文目录一览:- 如何在AngularJs中将Regex与ng-repeat结合使用?(angularjs ng-change)
- angularjs – 如何在Angular JS中的指令的模板中使用“ng-repeat”?
- angularjs – 如何在angular.js中重复解析ng-repeat中的HTML
- angularjs – 如何在包含ng-repeat的选择上触发ng-change
- angularjs – 如何在嵌套的ng-repeats中获取索引
如何在AngularJs中将Regex与ng-repeat结合使用?(angularjs ng-change)
我想在ng-repeat中使用正则表达式。我尝试了以下代码,但无法正常工作。
<div ng-repeat="user in users | filter:{''type'':/^c5$/}"></div>
我有用户数组,我只想显示类型为c5的用户。
如果我用
filter:{''type'':''c5''}
然后它也以“ ac5x”类型显示用户,因为它包含c5。
我怎么解决这个问题?也许还有另一种解决方案。
谢谢!
答案1
小编典典Tosh提到的内容应该对您有用!
如果您发现自己想更频繁地使用正则表达式进行过滤,则可以创建一个自定义过滤器。像这样的小提琴使您可以指定一个字段来检查正则表达式:
var myApp = angular.module(''myApp'', []);myApp.filter(''regex'', function() { return function(input, field, regex) { var patt = new RegExp(regex); var out = []; for (var i = 0; i < input.length; i++){ if(patt.test(input[i][field])) out.push(input[i]); } return out; };});
像这样使用where ''type''
表示要检查的字段(在这种情况下为type字段):
<div ng-repeat="user in users | regex:''type'':''^c5$''"></div>
angularjs – 如何在Angular JS中的指令的模板中使用“ng-repeat”?
< div linkedlist listcolumns =“{{cashAccountsColumns}}”>< / div>
Corrps。控制器将:
$scope.cashAccountsColumns = [ {"field": "description","title": "Description"},{"field": "owner","title":"Owner"},{"field": "currentBalance","title":"Current Balance" } ];
指令代码是:
return { restrict : 'EA',transclude : false,templateUrl : 'html/linkedlist.html',scope: { listcolumns: "@" },link : function(scope,element,attrs) { } }
模板是:
<tablehttps://www.jb51.cc/tag/Box/" target="_blank">Box-table" width="100%"> <thead> <tr> <th scope="col" ng-repeat="column in listcolumns"> {{column.title}} </th> </tr> </thead> </table>
但这不工作。我没有得到column.title的值在屏幕上,太多的行如下被添加到DOM:
<th ng-repeat="column in listcolumns" scope="col"https://www.jb51.cc/tag/cop/" target="_blank">cope ng-binding"></th>
更改指令代码:
// ... scope: { listcolumns: "=" },// ...
对模板的更改:
<div linkedlist listcolumns="cashAccountsColumns"></div>
angularjs – 如何在angular.js中重复解析ng-repeat中的HTML
我需要在ng-repeat中解析我的模型中的可选HTML.
我在.jade模板中有一个转发器,如下所示:
tr(ng-repeat='car in cars') td() {{car.number}} td() {{car.location}}
我的car.location可以是纯文本,如:
城市名称
或者它可以有一些HTML,如下所示:
In transit,<a href="http://example.com/"/>view</a>
现在,当我得到HTML时,这不会被解析.不幸的是,这些数据来自第三方网站,所以我不能影响到这一点.是否有指令或过滤器可以将其转换为有效链接?
如果没有,我还能尝试用它做什么?
解决方法
它正确解析HTML;)
示例:http://jsbin.com/ubujem/1/
< p ng-bind-html-unsafe =“car.location”>< / p>
此问题似乎与此类似:parse html inside ng-bind using angularJS
angularjs – 如何在包含ng-repeat的选择上触发ng-change
<label>Region</label> <select ng-model="region" ng-change="clear(1)" ng-options="l.region for l in locations" ></select> <br /> <label>Country</label> <select ng-model='country' ng-change="clear(2)" ng-options="c.country for c in region.countries" ></select>
我的位置是一个json对象,如下所示:
[ {region: "Europe",countries: [{country: "France"},{country: "UK"}/*,...*/]},{region: "Africa",countries: [{country: "Cameroon"},{country: "Algeria"}]} /*,...*/ ]
这一切都很好用.
当我想将第一个选择框的值设置为Europe时,它开始变得复杂,我想在第二个选择框上触发ng-change事件.
有关如何做到这一点的任何想法?
解决方法
$scope.$watch('region',function (newValue,oldValue) { console.log(newValue,oldValue); })
angularjs – 如何在嵌套的ng-repeats中获取索引
<tbody> <tr ng-repeat="element in body"> <td ng-repeat="h in header"> <div col="{{$parent.$parent.$index}}" row="{{$parent.$index}}">{{element[h.column]}}</div> <td> </tr> </tbody>
这里也是一个plnkr.
http://plnkr.co/edit/dGoN43HzQefVpCsp2R3j
问题是“col”的值永远不会被填充.它不捕获索引.
谁能帮助
HTML
<tr ng-repeat="element in body"> <td ng-repeat="h in header"> <div col="{{body.indexOf(element)}}" row="{{$index}}">{{element[h.column]}}</div> <td> </tr>
UPDATE
实际上使用ng-init会更好地得到外循环的索引…在这里你可以轻松地将rowIndex设置为每一回合的当前索引并在内循环中使用它…
<tbody> <tr ng-repeat="element in body" ng-init="rowIndex = $index"> <td ng-repeat="h in header"> <div col="{{$index}}" row="{{rowIndex}}">{{element[h.column]}}</div> <td> </tr> </tbody>
这里更新PLUNKER
我们今天的关于如何在AngularJs中将Regex与ng-repeat结合使用?和angularjs ng-change的分享就到这里,谢谢您的阅读,如果想了解更多关于angularjs – 如何在Angular JS中的指令的模板中使用“ng-repeat”?、angularjs – 如何在angular.js中重复解析ng-repeat中的HTML、angularjs – 如何在包含ng-repeat的选择上触发ng-change、angularjs – 如何在嵌套的ng-repeats中获取索引的相关信息,可以在本站进行搜索。
本文标签: