0
在此琴:http://jsfiddle.net/CBgcP/742/如何在函數中傳遞過濾器操作的結果?
我試圖通過一個onclick到自定義過濾器的結果傳遞到範圍的功能:
<span ng-click="open(friend.name | custom)")
此語法不正確。過濾操作的結果是否可以通過點擊進入功能?
小提琴源:
<div ng:app="myApp">
<div ng-controller="HelloCntl">
<ul>
<li ng-repeat="friend in friends | weDontLike:'Adam'">
<span ng-click="open(friend.name | custom)")>{{friend.name}}</span>
<span>{{friend.phone}}</span>
</li>
</ul>
</div>
</div>
span
{
width: 200px;
}
angular.module('myApp',[]).filter('weDontLike', function(){
return function(items, name){
var arrayToReturn = [];
for (var i=0; i<items.length; i++){
if (items[i].name != name) {
arrayToReturn.push(items[i]);
}
}
return arrayToReturn;
};
});
angular.module('myApp', []).filter('custom', function() {
return function(input) {
return input.substring(0 , 2)
};
});
function HelloCntl($scope) {
$scope.open = function(){
console.log('in open');
}
$scope.friends = [
{
name: 'John',
phone: '555-1276'},
{
name: 'Mary',
phone: '800-BIG-MARY'},
{
name: 'Mike',
phone: '555-4321'},
{
name: 'Adam',
phone: '555-5678'},
{
name: 'Julie',
phone: '555-8765'}
];
}
不是100%肯定,但嘗試內聯語法''*你的元素中還有一個額外的'''''',需要刪除。 –