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

app.controller vs angular.js中的函数

司寇阳曦
2023-03-14
问题内容

我正在学习angular.js,想知道什么时候app.controller("MyCtrl",...)应该使用什么时候function MyCtrl($scope){...}应该使用。

在这个示例中,我发现两种方法之间没有太大的区别(链接到一个插件):

index.html

<body ng-app="myApp">

    <div ng-controller="FirstCtrl as app1">
        <button class="btn" ng-model="app1.count"
                            ng-click="app1.increment()">
        Click to increment</button>
        {{ app1.count }}
    </div>

    <div ng-controller="SecondCtrl">
        <button class="btn" ng-model="count"
                            ng-click="increment()">
        Click to increment</button>
        {{ count }}
    </div>

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.2/angular.js"></script>
    <script type="text/javascript" src="example.js"></script>
</body>

example.js

var app = angular.module("myApp", []);

app.controller("FirstCtrl",function () {
    this.count = 0;
    this.increment = function (){
        this.count = this.count + 1;
    }
});

function SecondCtrl($scope){
    $scope.count = 0;
    $scope.increment = function (){
        $scope.count = $scope.count + 1;
    }
}

问题答案:

在这两种用法中,推荐的方法都是注入$scope和使用该方法(而不是使用this,您也可以在第二种方法中使用)。

方法一和方法二的区别在于如何支持缩小。在前者中,您可以提供注入参数的数组,而在后者中,您可以修改$inject。这当然有点技术性,但强烈建议您支持缩小。请参阅文档中有关缩小的说明。

前者也没有在全局范围内命名函数,这通常是一件好事!



 类似资料:
  • 给定一个字符串,返回子字符串长度2在该字符串中出现的次数计数,并作为该字符串的最后2个字符,因此“hixxxhi”产生1(我们不计算结束子字符串)。 我在其中一个网站上发现了这个问题(https://codingbat.com/prob/p145834). 网站上对上述问题的回答如下: 我对下面提到的代码行有疑问 现在,我知道这段代码正在提取字符串“str”的最后两个字母。我感到困惑的是变量名。正

  • 有没有可能创建一个函数,它将lambda函数作为参数(每个lambda函数使用参数),然后返回一个具有单个参数的新函数,并返回所有lambda函数的乘积? 以下是我的非工作示例: 所以本质上,你有一个函数,它需要4个lambda函数,每个函数使用参数。例如,的参数可以类似于。 然后返回一个名为的新函数,该函数的输出是所有lambda函数的乘积,并且有一个参数,该参数传递到的每个lambda函数的参

  • 问题内容: 该函数仅采用字符串切片: 但是,能够传递实现函数的任意对象会很好。 Go中是否有类似的东西,还是我必须用ToString方法来修饰现有类型并编写一个包装器? 问题答案: 将方法附加到任何命名类型,并享受任何自定义“ ToString”功能: 游乐场:http://play.golang.org/p/Azql7_pDAA 输出量

  • 问题内容: 功能是什么?是用户界面吗?我们什么时候使用它? 问题答案: 它提出了一个提示给用户(可选的),从用户获得输入,并通过在一个字符串的用户返回数据的输入。请参阅有关的文档。 例: 这与 后者的不同之处在于后者试图解释用户给出的输入。通常最好避免并坚持使用自定义的解析/转换代码。 注意:这适用于Python 2.x

  • 为什么下面的MySQL代码不能工作--特别是dense_rank()函数,因为“employee_number”总是以两个字母开头,例如。“AB61026”、'AB64238'等。

  • 本文向大家介绍PHP中的zip_entry_compressed_size()函数,包括了PHP中的zip_entry_compressed_size()函数的使用技巧和注意事项,需要的朋友参考一下 zip_entry_compressed_size()函数返回zip归档条目的压缩文件大小。 语法 参数 zip_entry-邮政编码条目资源。需要。 返回 zip_entry_compressed_

  • 问题内容: 是否有一个PHP函数以与MySQL函数相同的格式返回日期和时间? 我知道如何使用来做,但是我在问是否只有一个功能。 例如,返回: 问题答案: 除了日期功能:

  • 本文向大家介绍JavaScript中的Function函数,包括了JavaScript中的Function函数的使用技巧和注意事项,需要的朋友参考一下 首先给大家介绍JavaScript中function定义函数的几种方法: 1.最基本的作为一个本本分分的函数声明使用。 或 2.作为一个类构造器使用: 3.作为闭包使用: 4.可以作为选择器使用: 5.以上四中情况的混合应用: JavaScript