Angularjs 角度注入视图,但不绑定
在Index.html中,我定义了:Angularjs 角度注入视图,但不绑定,angularjs,Angularjs,在Index.html中,我定义了: <html xmlns="http://www.w3.org/1999/xhtml" ng-app="bwp"> <head> <title></title> <script src="Scripts/angular.min.js"></script> <script src="Scripts/angular-route.min.js"></scrip
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="bwp">
<head>
<title></title>
<script src="Scripts/angular.min.js"></script>
<script src="Scripts/angular-route.min.js"></script>
<script src="js/app.js"></script>
<script src="app/landingController.js"></script>
</head>
<body>
<div ng-view></div>
</body>
</html>
var app = angular.module("bwp", ["ngRoute"]);
app.config(function ($routeProvider) {
$routeProvider.when(
'/main', {
templateUrl: 'app/test.html',
controller: 'testController'
})
.otherwise({ redirectTo: '/main' });
});
以下是完整的testController.js:
(function() {
var app = angular.module("bwp");
var landingController = function ($scope, $http) {
$scope.test = "this is a test";
};
app.controller("landingController", landingController);
}());
在测试视图中,我定义了:
<h1 ng-controller="landingController">
{{test}}
</h1>
{{test}}
呈现页面时(通过inspect元素):
{{test}}
- 请注意,它标识控制器和范围
因此…Angular注入视图,但未按预期绑定$scope.test。我做错了什么?您的testController定义在哪里?“在我定义的测试控制器中”是什么意思?在angular启动后(例如,从控制器内部),您不能向angular添加额外的控制器/指令/服务。抱歉,不清楚。我更新了代码。我的意思是在一个单独的文件testController.js中定义了控制器。那么,正确的方法是什么呢?该控制器注册为“着陆控制器”-您仍然没有“testController”,这是您在路线中要求的。查看angular的一个路由示例-@Sacho是正确的,而且您错误地销售了控制器/文件。您正在加载一个名为“landingController.js”的脚本,但它是您编写的真实名称,即“testController.js”。所以您有3个错误:1)脚本标记应该是“testController.js”2)在路由中您应该定义了“landingController”3)您不应该在部分(测试视图)中声明ng控制器,因为您已经在路由提供程序中声明了它。是的,我修复了所有这些。这是一个工作版本(名称略有不同)
<h1 ng-controller="landingController" class="ng-scope ng-binding">
{{test}}
</h1>