我对 Angular 相当陌生,简单的绑定对我不起作用。
它只是向我展示了{{ trip.name }}
和{{trip.created}}
就像它们所写的那样。
我的控制器:
(function () {
"use strict";
angular.module("app-trips")
.controller("tripsController", tripsController);
function tripsController() {
var vm = this;
vm.trips = [{
name: "US Trip",
created: new Date()
}, {
name: "World Trip",
created = new Date()
}];
我班的一部分:
@section Scripts {
<script src="~/lib/angular/angular.min.js"></script>
<script src="~/js/app-trips.js"></script>
<script src="~/js/tripsController.js"></script>
}
<div class="row" ng-app="app-trips">
<div ng-controller="tripsController as vm" class="col-md-6 col-md-offset-3">
<table class="table table-responsive table-striped">
<tr ng-repeat="trip in vm.trips">
<td>{{ trip.name }}</td>
<td>{{ trip.created }}</td>
</tr>
</table>
</div>
控制器的视图:
(function () {
"use strict";
angular.module("app-trips", ['ngSanitize']);
})();
顺便说一句 - 据说根据我遵循的课程,我还不需要['ngSanitize']
,但没有它,它甚至不会显示DIV
。
编辑:正如@jellyraptor注意到的,我有一个拼写错误,=而不是:
编辑 2:
这是错别字+[ngSanitize
],我真的不需要。我修复了拼写错误并传递了一个空数组,一切正常。谢谢大家
Angular 未加载或遇到错误。使用 F12 调出开发工具,查看控制台中是否存在错误。同样在控制台中,您可以键入"角度"并按回车键,如果它报告角度未定义,则角度未正确加载。
因为您使用的是controllerAs
语法,这里的变量是vm
. 所以对于访问范围对象,请使用vm
而不是tripsController
<tr ng-repeat="trip in vm.trips">
<td>{{ trip.name }}</td>
<td>{{ trip.created }}</td>
</tr>
(function() {
"use strict";
angular.module("app-trips", []);
})();
angular.module("app-trips")
.controller("tripsController", tripsController);
function tripsController() {
var vm = this;
vm.trips = [{
name: "US Trip",
created: new Date()
}, {
name: "World Trip",
created: new Date()
}];
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.2/angular.min.js"></script>
<div ng-app="app-trips" ng-controller="tripsController as vm" class="col-md-6 col-md-offset-3">
<table class="table table-responsive table-striped">
<tr ng-repeat="trip in vm.trips">
<td>{{ trip.name }}</td>
<td>{{ trip.created }}</td>
</tr>
</table>
</div>
你在trips数组的第二个对象的"created"属性中放了一个等号。
vm.trips = [{
name: "US Trip",
created: new Date()
}, {
name: "World Trip",
created = new Date()
}];
应该是
vm.trips = [{
name: "US Trip",
created: new Date()
}, {
name: "World Trip",
created: new Date()
}];