zl程序教程

您现在的位置是:首页 >  前端

当前栏目

[Angular] Angular Search filter, built-in filters, ng-repeat

Angular in filter search NG repeat Filters built
2023-09-14 08:59:21 时间
<!DOCTYPE html>
<html>
    <head>
        <title>Angular Binding</title>
        <script src="angular.min.js"></script>
        <script src="main.js"></script>
    </head>
    <body>
        <div ng-app="myApp">

            <div ng-controller="FirstCtrl">
                <input type="text" ng-model="msg.message" />
                <h1>{{msg.message}}</h1>
            </div>
            
            
            <div ng-controller="SkillsCtrl">
                <!--<input type="search" ng-model="searchName" /> search string-->
                <!--<input type="search" ng-model="search.$" /> search everything in the object-->
                <input type="search"  ng-model="search.name"/>
                <table>
                    <tr ng-repeat="skill in skills.cast | filter:search"><td>{{skill.name}}</td><td>{{skill.level}}</td></tr>
            <!--<tr ng-repeat="skill in skills.cast | filter:{skill:skill.nanme}"><td>{{skill.name}}</td><td>{{skill.level}}</td></tr>-->

</table> </div> </div> </body> </html>

 

//$scope is an area which can affected
/*
function FirstCtrl($scope){
    $scope.data = {message: "Hello"};
}*/
var app = angular.module('myApp', []);
app.factory('DataFromService', function(){
    return {message: "This is from service"}
});
app.factory('Skills', function(){
    var skills = {};
    skills.cast = [
            {'name': "Hadoop", "icon": "", "level": "Learning"},
            {'name': "Angular JS", "icon": "", "level": "Good"},
            {'name': "Backbone.js", "icon": "", "level": "Good"},
            {'name': "Node.js", "icon": "", "level": "Good"},
            {'name': "Javascript", "icon": "", "level": "Good"},
            {'name': "jQuery", "icon": "", "level": "Good"},
            {'name': "PHP", "icon": "", "level": "Good"},
            {'name': "Java SE", "icon": "", "level": "Good"},
            {'name': "Android", "icon": "", "level": "Good"},
            {'name': "HTML5", "icon": "", "level": "Good"},
            {'name': "CSS3", "icon": "", "level": "Good"},
            {'name': "MySQL", "icon": "", "level": "Good"},
            {'name': "MongoDB", "icon": "", "level": "Good"},            
            {'name': "Python", "icon": "", "level": "Know"},
            {'name': "Linux", "icon": "", "level": "Know"},
            {'name': "C#", "icon": "", "level": "Know"},
            {'name': "JSP", "icon": "", "level": "Know"},
            {'name': "Servlet", "icon": "", "level": "Know"},
            {'name': "JSP", "icon": "", "level": "Know"},
            {'name': "Servlet", "icon": "", "level": "Know"}        
    ];    
    return skills;
});

app.filter('reverse', function(DataFromService){
    return function(text){
        return text.split(" ").reverse().join(" ");
    }
});

function SkillsCtrl($scope, Skills){
    $scope.skills = Skills;
}

function FirstCtrl($scope, DataFromService){
 /*DataFromService: Object {message: "This is from service", reply: "I am Zhentian"} */
    $scope.msg = DataFromService;
}

 

 

-----------------------------Built-in Filters-------------------------

<tr ng-repeat="skill in skills.cast | orderBy: 'name' | filter:search"><td>{{skill.name}}</td><td>{{skill.level}}</td></tr>
<!--<tr ng-repeat="skill in skills.cast | limitTo: 5 | orderBy: 'name'"><td>{{skill.name}}</td><td>{{skill.level}}</td></tr>-->
<!--<tr ng-repeat="skill in skills.cast | limitTo: -5"><td>{{skill.name}}</td><td>{{skill.level}}</td></tr>-->
<!--<tr ng-repeat="skill in skills.cast | limitTo: 5"><td>{{skill.name}}</td><td>{{skill.level}}</td></tr>-->
<!--<tr ng-repeat="skill in skills.cast | orderBy: '-name'"><td>{{skill.name}}</td><td>{{skill.level}}</td></tr>-->
<!--<tr ng-repeat="skill in skills.cast | filter:search"><td>{{skill.name}}</td><td>{{skill.level}}</td></tr>-->