javascript - 如何在 AngularJS 的单个页面中添加多个 Controller

标签 javascript html angularjs

我是 AngularJS 的新手,我对这段代码有疑问。我想在单个 ng-app 中添加多个 Controller 。但它执行第一个。为什么不是第二个?

<!DOCTYPE html>
<html ng-app="myapp">
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/angul /1.4.8/angular.min.js"></script>
</head>
<body>
    <div ng-controller="cont1">
        <input type="text" ng-model="fullname">
        {{fullname}}
    </div>
    <div ng-controller="cont2">
        <input type="text" ng-model="fname">
        {{fname}}
    </div>
    <script>
        var app = angular.module("myapp", []);
        app.controller('cont1', function ($scope) {
            $scope.fullname = "";
        });
        var new = angular.module('myapp', []);
        new.controller('cont2', function ($scope) {
            $scope.fname = "";
        });
    </script>
</body>
</html>

最佳答案

因为当您执行 var new= angular.module('myapp',[]); 时,您将覆盖第一个 myapp 模块。

您的代码应该是:

var app = angular.module("myapp", []);
app.controller('cont1', function($scope) {
  $scope.fullname = "";
});
app.controller('cont2', function($scope) {
  $scope.fname = "";
});

var app = angular.module("myapp", []);
app.controller('cont1', function($scope) {
  $scope.fullname = "";
});
angular.module("myapp").controller('cont2', function($scope) {
  $scope.fname = "";
});

传递给 module() 的第二个参数[] 造成了差异

关于javascript - 如何在 AngularJS 的单个页面中添加多个 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35078579/

相关文章:

javascript - 在文字游戏中使用数组

javascript - JQuery 事件 $(document).ready 在 iPhone 5 上的移动 safari 中不会触发

javascript - 如何将要附加图像的元素传递给 image.onload() 函数

Javascript 待办事项列表 - 我的代码有什么问题?

Javascript bind() 与 createDelegate()

jquery - z-index 在某处被覆盖

html - 三边渐变渐变

javascript - 如何使用AngularJS拦截所有http请求?

performance - ng-include、ng-template 或指令 : which one is better for performance

AngularJS 单元测试基础 : testing for a $q deferred object's resolution and rejection in a service