angularjs – 简单的Angular $routeProvider解析测试.这段代码有
发布时间:2020-12-17 18:11:49 所属栏目:安全 来源:网络整理
导读:我创建了一个简单的Angular JS $routeProvider解析测试应用程序.它给出以下错误: Error: Unknown provider: dataProvider - data 如果有人能够确定我哪里出错了,我将不胜感激. 的index.html !DOCTYPE htmlhtml ng-app="ResolveTest" head titleResolve Test
我创建了一个简单的Angular JS $routeProvider解析测试应用程序.它给出以下错误:
Error: Unknown provider: dataProvider <- data 如果有人能够确定我哪里出错了,我将不胜感激. 的index.html <!DOCTYPE html> <html ng-app="ResolveTest"> <head> <title>Resolve Test</title> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.js"> </script> <script src="ResolveTest.js"></script> </head> <body ng-controller="ResolveCtrl"> <div ng-view></div> </body> </html> ResolveTest.js var rt = angular.module("ResolveTest",[]); rt.config(["$routeProvider",function($routeProvider) { $routeProvider.when("/",{ templateUrl: "rt.html",controller: "ResolveCtrl",resolve: { data: ["$q","$timeout",function($q,$timeout) { var deferred = $q.defer(); $timeout(function() { deferred.resolve("my data value"); },2000); return deferred.promise; }] } }); }]); rt.controller("ResolveCtrl",["$scope","data",function($scope,data) { console.log("data : " + data); $scope.data = data; }]); rt.html <span>{{data}}</span> 解决方法
问题是你在index.html中的body标签上有ng-controller =“ResolveCtrl”,同样在你的$routeProvider中为rt.html指定了相同的控制器.从body标签中取出控制器定义,然后让$routeProvider处理它.之后效果很好.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |