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

AngularJS使用控制器作为字符串解析

吴胜涝
2023-03-14
问题内容

我编写角度控制器的风格是这样的(使用控制器名称而不是函数)

angular.module('mymodule', [
])
    .controller('myController', [
        '$scope',
        function($scope) {
            // Some code here

        }
    ]);

我现在需要的是提供我要定义解析部分的路线时:

 $routeProvider.when('/someroute', {
        templateUrl: 'partials/someroute.html', 
        resolve: myController.resolve}) // THIS IS THE CRITICAL LINE

由于控制器定义为名称,如何解决以下问题?

为了更详细地阐明,我想在解析路由之前从服务器加载一些数据,然后在控制器中使用这些数据。

更新:
更准确地说,我希望每个模块都有其“解析”功能,该功能将在执行具有该控制器的root用户之前被调用。这篇文章中的解决方案(由MiskoHevery回答)完全符合我的要求,但是我没有控制器作为函数而是作为名称。


问题答案:

控制器定义和分解部分应在路径定义中分别指定。

如果您在模块级别定义控制器,则需要以字符串形式引用它们,因此:

 $routeProvider.when('/someroute', {
        templateUrl: 'partials/someroute.html', 
        controller: 'myController',
        resolve: {
          myVar: function(){
            //code to be executed before route change goes here
          };
        });

上面的代码还显示了如何定义一组在更改路线之前将要解决的变量。解决后,可以将这些变量注入到控制器中,因此以上面的代码片段为例,您将像这样编写控制器:

.controller('myController', ['$scope', 'myVar', function($scope, myVar) {
            // myVar is already resolved and injected here
        }
    ]);

该视频也可能会有所帮助:http :
//www.youtube.com/watch?v=P6KITGRQujQ



 类似资料:
  • 本文向大家介绍详解AngularJS控制器的使用,包括了详解AngularJS控制器的使用的使用技巧和注意事项,需要的朋友参考一下 控制器在Angularjs中的作用是增强视图,它实际就是一个函数,用来向视图中的作用域添加额外的功能,我们用它来给作用域对象设置初始状态,并添加自定义行为。 当我们在页面上创建一个控制器时,Angularjs会生成并传递一个$scope给这个控制器,由于Angular

  • 问题内容: 我有以下几点: 有没有一种方法可以将字符串的长度限制为20个字符? 还有一个更好的问题是,如果超过20个字符,有没有办法我可以将字符串更改为截断并显示在末尾? 问题答案: 编辑 最新版本的报价过滤器。 您需要这样的 自定义过滤器 : 用法: 选项: 逐字(布尔)-如果为true,则仅按字数限制切入, max(整数)-文本的最大长度,切成此字符数, tail(字符串,默认值:“…”)-如

  • 问题内容: 使用语法时如何订阅属性更改? 问题答案: 只需绑定相关上下文即可。 示例:http://jsbin.com/yinadoce/1/edit 更新: Bogdan Gersak的答案实际上是等效的,两个答案都尝试在正确的上下文中进行绑定。但是,我发现他的答案更干净。 话虽如此,首先,您必须了解其背后的基本思想。 更新2: 对于那些使用ES6的人,通过使用它们可以获得具有正确上下文OOTB

  • 控制字符序列以'\为前缀,以\\结尾。在控制序列中有两个数字,它们指定控制字符。 在上面的示例中,结果字符串为 ESC代表不可打印的ASCII转义字符。 输入'a string'\ctrl\''会产生错误 你知道吗?顺便说一句:我们使用的是antlr V4.5。

  • 问题内容: 在我的开发服务器上,来自Laravel 5控制器的JSON响应以正确的类型显示数据。 例如 但是在生产服务器上,JSON响应作为字符串发送回。 开发和生产都安装了相同版本的PHP(5.6.11-1)。 关于什么可能导致这种行为的任何想法? 问题答案: 确保使用支持本机数据类型的 MySQL本机驱动程序 。 如果使用mysqlnd库,可以通过设置MYSQLI_OPT_INT_AND_FL

  • 我有以下控制器: 对应于: 和: 控制器不接收本身,而是一个camelCase。我需要将转换为相应的。例如: 应变为。 应变为。 应变为。 任何其他应变为。 我试过使用spring的类,当在对象内部时,它就不起作用了(至少我不知道在这种情况下如何使它起作用)。 我真的不知道还能尝试什么