简单的Angular $ routeProvider解决测试此代码有什么问题?

【字号: 日期:2024-04-11浏览:47作者:雯心
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解决简单的Angular $ routeProvider解决测试此代码有什么问题??

问题在于,ng-controller='ResolveCtrl'当您在$routeProvider中也为rt.html指定相同的控制器时,您就在index.html的body标签上了。从body标记中删除控制器定义,然后让$routeProvider来处理它。之后效果很好。

解决方法

我创建了一个简单的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='https://www.6hehe.com/wenda/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>

相关文章: