小编Sri*_*Vas的帖子

如何使角度$ filter过滤区分大小写的字符串比较器

我一直在尝试在角度控制器中制作过滤器,在过滤数组时区分大小写.

我的数据如下:

var stoneArr = 
[
    {
        "stone_name": "Diamond",
        "id": 16
    },
    {
        "stone_name": "Ruby",
        "id": 17
    },
    {
        "stone_name": "Sapphire",
        "id": 18
    },
    {
        "stone_name": "Emerald",
        "id": 19
    }
];
Run Code Online (Sandbox Code Playgroud)

我的HTML输入如下:

<input type="text" name="stone_name" class="form-control" id="stone_name"
ng-model="propertyName" maxlength="15" required>
Run Code Online (Sandbox Code Playgroud)

我在控制器中的过滤器是:

var stoneObj = $filter('filter')(stoneArr, {stone_name:$scope.propertyName}, true);
Run Code Online (Sandbox Code Playgroud)

这里的陷阱是当我在输入字段中输入"diamond"时

$scope.propertyName = "diamond";
Run Code Online (Sandbox Code Playgroud)

过滤器与此字符串不匹配"Diamond".

我不想从等式中删除完全匹配条件(true),如下所示:

var stoneObj = $filter('filter')(stoneArr, {stone_name:$scope.propertyName}); //This won't work for me
Run Code Online (Sandbox Code Playgroud)

这对我不起作用,因为我想匹配确切的字符串来过滤数据.并且数据将具有唯一的"stone_name"值.此外,我不想使用任何循环,因为数组长度将超过1000+.无论如何我能做到这一点吗?

javascript angularjs angularjs-filter

5
推荐指数
1
解决办法
1847
查看次数

使用yeoman设置的AngularJS项目的路由问题

我使用yeoman设置了一个新的Angular项目.Angular版本是1.6.0.项目设置成功,但我一直面临路由问题

任务转轮 - 咕噜

当我在本地运行项目时,我的本地页面将加载URL

HTTP://本地主机:9000 /#/

我期待http:// localhost:9000 /#/

单击"关于"链接时,浏览器将路由到

HTTP://本地主机:9000 /#/%23%2Fabout

期望:http:// localhost:9000 /#/ about

当我点击主页链接浏览器被路由到

HTTP://本地主机:9000 /#/ 23%2F%

期望:http:// localhost:9000 /#/

可能是什么问题?我在我使用AngularJS 1.5.8的其他系统中没有这样的问题.

angularjs yeoman angular-routing yeoman-generator-angular angularjs-1.6

2
推荐指数
1
解决办法
1122
查看次数