未调用angularjs控制器,并且视图中未显示任何数据
我从git下载了种子项目。基本上,更改了以下三个文件中的代码- app.js index.html 当我运行时,它显示未调用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
{{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';
});