Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未调用angularjs控制器,并且视图中未显示任何数据_Angularjs_Controller - Fatal编程技术网

未调用angularjs控制器,并且视图中未显示任何数据

未调用angularjs控制器,并且视图中未显示任何数据,angularjs,controller,Angularjs,Controller,我从git下载了种子项目。基本上,更改了以下三个文件中的代码- app.js index.html 当我运行时,它显示{{title},而不是控制器内的值 我是新来的bie,正在努力学习,但无法找出这里出了什么问题。您似乎遇到了两种不同的情况 首先,您似乎没有将javascript依赖项添加到html文件中。 <head lang="en"> <meta charset="UTF-8"> <title>AngularJS Tutorial</ti

我从git下载了种子项目。基本上,更改了以下三个文件中的代码-

app.js

index.html

当我运行时,它显示
{{title}
,而不是控制器内的值


我是新来的bie,正在努力学习,但无法找出这里出了什么问题。

您似乎遇到了两种不同的情况

首先,您似乎没有将javascript依赖项添加到html文件中。

<head lang="en">
  <meta charset="UTF-8">
  <title>AngularJS Tutorial</title>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.4/angular.min.js"></script>
  <script src="app.js"></script>
  <script src="MessageController.js"></script>
</head>

另一个选项是在控制器中直接扩展
$scope
。然后你可以在你的页面上有
{{title}}
,它应该正确绑定

angular.module('app').controller("MessageController",['$scope',function($scope){
   alert("inside message controller");
    $scope.title = 'AngularJS Tutorial Example';
}]);

不走运。它现在显示{myctrl.title}}。事实上,我以前已经试过了。它很琐碎。但是你的html文件中有app.js和MessageController.js的脚本标记吗?@Malkus,我不知道我需要在html文件中包含app.js和MessageController.js。我需要像这样包括所有模块和控制器吗?我的印象是angular可以自己检测到它。@lets.learn是的,包含javascript文件的唯一方法是从html页面。也就是说,使用angular的另一种方法是使用一个名为browserify的库。但这更高级了一点。@Malkus,它的工作原理是包含这些app和controller.js文件,我甚至无法想象angular自己能理解这些文件。一旦我有了棱角的味道,我会尝试一下browserify。非常感谢你!!这很琐碎。但是您的html文件中有app.js和MessageController.js的脚本标记吗?
angular.module('app').controller("MessageController",function(){
   alert("inside message controller");
    var vm = this;
    vm.title = 'AngularJS Tutorial Example';
});
<head lang="en">
  <meta charset="UTF-8">
  <title>AngularJS Tutorial</title>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.4/angular.min.js"></script>
  <script src="app.js"></script>
  <script src="MessageController.js"></script>
</head>
<body ng-controller="MessageController as myctrl">
  <div class="container">
    <h1>{{myctrl.title}}</h1>
  </div>
</body>
angular.module('app').controller("MessageController",['$scope',function($scope){
   alert("inside message controller");
    $scope.title = 'AngularJS Tutorial Example';
}]);
var yourapp = angular.module('app', []);
yourapp .controller('MessageController', function ($scope) {
 alert("inside message controller");    
    $scope.title = 'AngularJS Tutorial Example';
  });