angular.js - angular1运行程序报错

查看:124
本文介绍了angular.js - angular1运行程序报错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

1.angular//运行程序报错Error: [$injector:unpr] Unknown provider: uniqueFilterProvider <- uniqueFilter
2.相关代码

<!DOCTYPE html>
<html lang="en" data-ng-app="sportsStore">
<head>
    <meta charset="UTF-8">
    <title>SportsStore</title>
    <script src="angular.js"></script>
    <link rel="stylesheet" href="bootstrap-theme.css">
    <link rel="stylesheet" href="bootstrap.css">
    <script>
        angular.module("sportsStore", ["customFilters"]);
    </script>
    <script src="controllers/sportsStore.js"></script>
    <script src="filters/customFilters.js"></script>
</head>
<body ng-controller="sportsStoreCtrl">
<div class="navbar navbar-inverse">
    <a href="#" class="navbar-brand">SportsStore</a>
</div>
<div class="panel panel-default row">
    <div class="col-xs-3">
        <a href="" ng-click="selectCategory()" class="btn btn-default btn-block btn-lg">Home</a>
        <a href="" ng-repeat="item in data.products | orderBy:'category' | unique:'category' "
           ng-click="selectCategory(item)"
           class="btn btn-block btn-default btn-lg">{{item}}</a>
    </div>
    <div class="col-xs-8">
        <div class="well" ng-repeat="item in data.products">
            <h3>
                <strong>{{item.name}}</strong>
                <span class="pull-right label label-primary">{{item.price|currency}}</span>
            </h3>
            <span class="lead">{{item.description}}</span>
        </div>
    </div>
</div>
</body>
</html>


customFilters.js

angular.module("customFilters",[])
.filter("unique", function () {
    return function (data,propertyName) {
        if(angular.isArray(data)&&angular.isString(propertyName)){
var results=[];
            var keys={};
            for (var i=0;i<data.length;i++){
                var val=data[i][propertyName];
                if(angular.isUndefined(keys[val])){
                    keys[val]=true;
                    results.push(val)
                }
            }
            return results;
        }else {
            return data;
        }
    }
})

应该是过滤器的问题,我刚刚开始学,找不出哪里错了啊0 0大神在哪里

解决方案

你的sportsStore有依赖注入customFilters吗?

或者你先把customFilters改成sportsStore尝试一下

这篇关于angular.js - angular1运行程序报错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆