【问题标题】:Uncaught Error: Unknown provider: $controllerProvider from productsApp未捕获的错误:未知的提供者:来自 productsApp 的 $controllerProvider
【发布时间】:2017-11-16 20:58:09
【问题描述】:

这是我的代码链接

http://plnkr.co/edit/8muxhJmvFiIqRJgzuT0O?p=preview

我收到错误 未捕获的错误:未知提供程序:来自 productsApp 的 $controllerProvider

我无法在控制台中查看 json 文件

index.html

<!DOCTYPE html>
<html data-ng-app="productsApp" >
<head>
  <meta charset="utf-8">
  <script data-require="angularjs@1.3.6" data-semver="1.3.6" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular.js"></script>
                    <script type="text/javascript" src="http://demos.amitavroy.com/learningci/assets/js/xml2json.js" charset="UTF-8"></script>

  <script>document.write('<base href="' + document.location + '" />');</script>
 <script  type='text/javascript' src="script.js"></script> 
  <script data-require="angular.js@1.0.x" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js" data-semver="1.0.8"></script>
</head>

  <body >
<div ng-controller="products">
    <div ng-repeat="product in products">
        <div ng-repeat="platform in product ">
        {{platform._type}}
        </div>
    </div>
</div>
</body>
</html>

product_js.js - x2js 的 js 文件

var productApp = angular.module("productsApp",[]);
productApp.factory('productFactory',function($http){
    var factory = [];
    factory.getProducts = function(){
        return $http.get("operations_mapping.xml");
    }
    return factory;
});
productApp.controller('products',function($scope,productFactory){
    $scope.products = [];
    loadProducts();
    function loadProducts(){
        productFactory.getProducts().success(function(data){
            mappingss = x2js.xml_str2json(data);
            console.log(mappingss.mappings.platform);
            $scope.products =mappingss.mappings.platform;
        });
    }
});

【问题讨论】:

  • 为什么var factory = [];这是一个数组?

标签: html angularjs json xml


【解决方案1】:

看起来您在页面上包含了多个版本的 angular.js 脚本,保留最新版本(如下所述)并删除其余参考。

&lt;script data-require="angularjs@1.3.14" data-semver="1.3.14" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"&gt;

Here is the Updated Plunker

【讨论】:

  • 请回答!为什么会这样呢?
  • @KennyNguyen:页面上有多个版本的 angular.js 并且存在冲突,请参阅我的更新答案。
【解决方案2】:

product_js.js 不包含在您的 html 中。添加&lt;script type='text/javascript' src="product_js.js"&gt;&lt;/script&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-31
    • 2013-02-21
    • 2013-01-25
    相关资源
    最近更新 更多