当前位置: 首页 > 面试题库 >

如何在角度应用程序中注入$ stateProvider?

淳于知
2023-03-14
问题内容

我尝试使用angular-ui,并尝试注入$ stateProvider:

html

<!DOCTYPE html>
<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular-resource.min.js"></script>
    <script src="http://angular-ui.github.io/ui-router/release/angular-ui-router.min.js"></script>
    <script src="test/appModule.js"></script>
</head>
<body>
    <div ng-app="appModule">
        <div ng-controller="appController">
            {{date}}
        </div>

    </div>
</body>
</html>

js(test / appModule.js)

var module = angular.module("appModule", ['ui.router']);

module.controller('appController', ['$scope', '$stateProvider',
    function ($scope, $stateProvider) {
        $scope.date = new Date();
    }]);

堆栈跟踪

Error: Unknown provider: $stateProviderProvider <- $stateProvider
    at Error (native)
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.min.js:28:236
...

如果我删除带有注释的 $ stateProviderui.router ,那么一切都会起作用:

var module = angular.module("appModule"/*, ['ui.router']*/);
module.controller('appController', ['$scope'/*, '$stateProvider'*/,
    function ($scope, $stateProvider) {
        $scope.date = new Date();
    }]);

那么注入 $ stateProvider 的问题有解决的任何想法吗?

PS 我尝试了ui示例,它可以工作,但是我无法弄清楚为什么我的不行。


问题答案:

在控制器中使用它时,您必须使用$state

angular.module("appModule", ['ui.router']).controller('appController', ['$scope', '$state', function ($scope, $state) {
    $scope.date = new Date();
}]);

您只能在配置中使用状态提供程序,例如:

angular.module('appModule').config(['$stateProvider', function($stateProvider){
    /* do w/e with state provider */
})];


 类似资料:
  • 问题内容: 我一直在从事一个更像框架的项目,并且可以安装几个应用程序/模块。像基本的应用商店或google.play商店一样看到它。这是一个Intranet应用程序,所有模块都可以添加到您的用户帐户中。 该框架已经在开发中,但是我现在正在围绕应用程序/模块的想法。(链接到开发中的概念证明,可以在这里找到) 一个应用程序应该是独立的,并且不能突然包含框架中的脚本,这可以通过在单独的模块中进行结构化来

  • 返回到Angular中的上一页相当简单: 这相当于点击浏览器的“后退”按钮。但是,如何修改此代码,使其符合以下条件_地方back()会将您带到应用程序外部的url,它会将您重定向到应用程序内部的路由。 例如,假设你在谷歌。com,然后粘贴到我的应用程序中。com/page foo,然后朝那个方向导航<代码>此_地方back()将带您返回谷歌。com,但我希望它导航到我的应用程序。com/页面栏。

  • 随着播放框架的新版本2.4/2.5,他们进一步朝着注入一切和删除服务器状态的方向前进。现在不建议使用。然而,我需要在我的模板中的应用程序(例如,让所有支持的语言显示在所有页面上与)。 我知道我可以: 传球显式添加到我的所有模板 如何注入? ----更新:---- 到目前为止,我尝试了以下设置: index.scala.html: 样板斯卡拉。html: 控制器功能:

  • 我正在迁移一个遗留服务框架,该框架使用java序列化/反射来注册服务,并将它们作为远程endpoint(javabin over http)或本地调用无缝地调用。我已经将远程调用替换为jerseyendpoint。并使用基于hk2 aop的拦截器重新构建了现有框架的部分拦截能力。当远程客户端调用endpoint时,它工作正常。现在,我需要对服务方法的本地调用执行相同的操作,并且能够使用与远程服务方

  • 问题内容: 以下是开始对话的几种可能性: 初始化后转义所有输入。 转义每个值,最好在生成SQL时转义。 第一种解决方案是次优的,因为如果要在除SQL之外的其他任何方式中使用每个值,则需要取消转义每个值,例如在网页上输出它。 第二种解决方案更有意义,但是手动转义每个值是一件痛苦的事情。 我知道已准备好的语句,但是我发现MySQLi麻烦。另外,将查询与输入分离也使我感到担忧,因为尽管正确执行订单至关重

  • 问题内容: 我正在尝试将两个有角度的应用程序/模块添加到一页。在下面的小提琴中,您可以看到始终只有html代码中引用的第一个模块可以正常工作,而第二个模块不能被angular识别。 在这个小提琴中,我们只能执行该方法,而在这个小提琴中,仅该方法可以正常工作。 我正在寻找如何将两个角度模块正确放置到一页中的方法。 问题答案: 每个HTML文档只能自动引导一个AngularJS应用程序。在文档中找到的