app.controller vs angular.js中的函数

瑞典人

我正在学习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这当然有点技术性,但强烈建议您支持缩小。请参阅文档中有关缩小的说明。

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在哪里引用Angular App中的controller.js脚本

来自分类Dev

在哪里引用Angular App中的controller.js脚本

来自分类Dev

在JS脚本中调用Angular Controller

来自分类Dev

在Angular Controller中的js对象数组上的$ watchCollection是否需要匿名函数?

来自分类Dev

Angular JS $ watch vs $ on

来自分类Dev

Angular.js“ Controller as ...” + $ scope。$ on

来自分类Dev

从Controller和App文件夹中调用CakePHP函数

来自分类Dev

尝试从名称空间“ App \ Controller”中调用函数

来自分类Dev

尝试从名称空间“ App \ Bundle \ Controller”中调用函数“ getAge”

来自分类Dev

在jQuery函数中包装Angular App

来自分类Dev

在Angular Controller中退出foreach

来自分类Dev

这个vs $ scope在angular.js中?

来自分类Dev

AngularError-app.controller(...)不是函数

来自分类Dev

Angular ng-controller与ng-app冲突

来自分类Dev

Angular Controller构造函数:何时调用?

来自分类Dev

Angular JS $超时vs $间隔

来自分类Dev

HTML中带参数的Angular js Controller方法

来自分类Dev

从Angular Controller控制SoundCloud JS SDK

来自分类Dev

将Underscore.js注入Angular Controller

来自分类Dev

从Angular Controller控制SoundCloud JS SDK

来自分类Dev

Angular JS“ Controller as”语法不起作用

来自分类Dev

内部JS Angular Controller没有被调用

来自分类Dev

bin / www vs app.js中的代码约定

来自分类Dev

Angular Factory函数抛出错误,声称它不是Controller中的函数

来自分类Dev

Angular Factory函数抛出错误,声称它不是Controller中的函数

来自分类Dev

在 Angular 6 中链接 APP_INITIALIZER 函数

来自分类Dev

Laravel-在Controller vs Model中更新数据库

来自分类Dev

带有AngularJs的Spring MVC中的@RestController VS @Controller

来自分类Dev

Angular JS工厂vs服务vs提供程序示例

Related 相关文章

  1. 1

    在哪里引用Angular App中的controller.js脚本

  2. 2

    在哪里引用Angular App中的controller.js脚本

  3. 3

    在JS脚本中调用Angular Controller

  4. 4

    在Angular Controller中的js对象数组上的$ watchCollection是否需要匿名函数?

  5. 5

    Angular JS $ watch vs $ on

  6. 6

    Angular.js“ Controller as ...” + $ scope。$ on

  7. 7

    从Controller和App文件夹中调用CakePHP函数

  8. 8

    尝试从名称空间“ App \ Controller”中调用函数

  9. 9

    尝试从名称空间“ App \ Bundle \ Controller”中调用函数“ getAge”

  10. 10

    在jQuery函数中包装Angular App

  11. 11

    在Angular Controller中退出foreach

  12. 12

    这个vs $ scope在angular.js中?

  13. 13

    AngularError-app.controller(...)不是函数

  14. 14

    Angular ng-controller与ng-app冲突

  15. 15

    Angular Controller构造函数:何时调用?

  16. 16

    Angular JS $超时vs $间隔

  17. 17

    HTML中带参数的Angular js Controller方法

  18. 18

    从Angular Controller控制SoundCloud JS SDK

  19. 19

    将Underscore.js注入Angular Controller

  20. 20

    从Angular Controller控制SoundCloud JS SDK

  21. 21

    Angular JS“ Controller as”语法不起作用

  22. 22

    内部JS Angular Controller没有被调用

  23. 23

    bin / www vs app.js中的代码约定

  24. 24

    Angular Factory函数抛出错误,声称它不是Controller中的函数

  25. 25

    Angular Factory函数抛出错误,声称它不是Controller中的函数

  26. 26

    在 Angular 6 中链接 APP_INITIALIZER 函数

  27. 27

    Laravel-在Controller vs Model中更新数据库

  28. 28

    带有AngularJs的Spring MVC中的@RestController VS @Controller

  29. 29

    Angular JS工厂vs服务vs提供程序示例

热门标签

归档