[英]AngularJS ng-controller not working
我刚刚开始从w3schools学习AngularJS。 我正在尝试练习他们在教程中提到过的示例。 一切正常,但是当我来到“AngularJS控制器”时,它在w3schools中运行良好并不能正常工作自己动手» 。 我把我的代码分成了这个小提琴的例子 。 我的脚本看起来像这样:
function personController($scope) {
$scope.firstName= "John";
$scope.lastName= "Doe";
}
尽量帮助我,并建议我一个很好的教程(或任何免费的PDF文件)。
这是你纠正的小提琴 。
对于角度来说,控制器定义必须如下所示是一个很好的做法:
angular.module("app", []).controller("personController", function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
});
毫无疑问,学习Angular 基础知识的最佳教程是CodeSchool !
希望这可以帮助。
这是一种新方法。 我们不能再使用没有模块的控制器。 看看这个 。 只需添加一个模块并附加控制器即可,您将没有任何问题。
我只是修改了你的小提琴。 请查看小提琴示例
function personController($scope) {
$scope.firstName= "John";
$scope.lastName= "Doe";
}
有你的代码,除了从的onLoad到没有包 JS小提琴设置没有问题-在头
您需要创建一个应用程序模块,然后添加一个控制器。 在角度中,它是关于依赖性的。 其次,你需要一个应用程序名称。 基础教程在他们的主页上: https : //docs.angularjs.org/tutorial/step_00我开始使用它,它对我很好。 只需从步骤1开始执行所有步骤。
这是“Angular Controller Not Working”的常见搜索结果,所以我认为添加修复我的“控制器不工作”问题的解决方案会很有帮助。
我有我的基本路线, $routeProvider
指向控制器文件和templateUrl部分,如下所示:
$routeProvider.when('/', {
templateUrl: 'partials/home.html',
controller: 'homePage'
});
我有其他几条路线,所有这些控制器都工作,但由于某种原因,我的第一条路线不会。 事实证明,我的部分逻辑错误很小,这阻止了我的控制器代码运行。
愚蠢的小错误,但我措手不及,这部分是一个逻辑问题阻止任何控制器代码运行。 我花了很长时间才愿意承认,因为问题不在我的“JavaScript”中,即使存在控制台错误。 紧密耦合的前端代码的乐趣,amiright?
您必须输入函数作为模块内的参数
var app = angular.module('app',[]);
app.controller('personController',function($scope){
$scope.firstName = 'John';
$scope.lastName = 'Smith';
});
通过在html的任何标签中添加np-app="myApp"
,例如<html ng-app = "myApp">
我的代码工作正常。
如果您尝试将ngApp嵌套到其他ngApp中,则可能存在相同的问题。
文件说:
AngularJS applications cannot be nested within each other.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.