【发布时间】:2018-04-03 18:37:57
【问题描述】:
这是我的控制器:
window.myApp.controller("WorkersController", ['$scope', function ($scope) {
$scope.people = ['1', '123', 'dog','qwewqe'];
$scope.input='';
$scope.add = function () {
let index = $scope.people.indexOf( $scope.input);
if ( $scope.input && index === -1) {
$scope.people.push( $scope.input);
$scope.update_layers();
$scope.input = '';
}
};
$scope.delete = function (item) {
let index = $scope.people.indexOf(item);
$scope.people.splice(item, 1);
$scope.update_layers();
};
$scope.update_layers = function () {
};}]);
这是我的看法:
<div id="p_Workers" ng-controller="WorkersController">
<div class="form-group row">
<label class="col-1 col-form-label">С</label>
<div class="col-10">
<input class="form-control" type="date">
</div>
</div>
<div class="form-group row">
<label class="col-1 col-form-label">По</label>
<div class="col-10">
<input class="form-control" type="date">
</div>
</div>
<div class="form-group row">
<input id="add_worker" type="search" class="form-control col-9" ng-model='input' placeholder="Введите фамилию">
<input class="form-control col-3" type="button" value="Add" ng-click="add()">
</div>
<div ng-repeat="man in people">
{{man}}
<input type="button" value="X" ng-click="delete({{man}})">
</div>
我包括了角度和控制器
<script type="text/javascript" src="/node_modules/angular/angular.min.js"></script>
<script type="text/javascript" src="js/controllers/WorkersController.js"></script>
有人可以解释为什么 ng-repeat 不显示数组中的项目吗? 看起来我的帖子主要是代码,但代码是最好的细节。
UPD:所以我修复了我的视图和控制器,所以希望它不会分散你对 ng-repeat 的注意力。maybe this can help somehow
UPD2:plunker 中的示例效果很好。但我忘了说我正在使用 phalcon。可能是电压有问题?
UPD3:电压问题。
【问题讨论】:
-
如果你有 angular 1.5 或 1.6 尝试将
people更改为$ctrl.people,控制器本身必须命名,无论如何尝试“杀死”你的范围 :) daveceddia.com/convert-scope-to-controlleras -
从按钮中删除 col-3 时会发生什么?当您打开浏览器开发工具并检查 DOM 时会发生什么?它在这里工作正常:plnkr.co/edit/GiDRxQTF9m2N9rR8R5mK
-
如果我删除 col-3 只剩下小按钮。是的,我也在 plunker 上试过,效果很好。DOM 只有输入,前面没有文本,但 $scope 变量包含值。
$ctrl.people不起作用。