我的angularjs控制器/模块有问题吗



我正在尝试用一个可以添加选择元素的按钮构建一个视图(目前(。

因此;js";可以将元素添加到其(此处称为过滤器(数组中。

```(function () {
"use strict";
angular.module('app').controller('FilterController', FilterController);
function FilterController() {
let ctrl = this;
ctrl.filters = [];
ctrl.addFilter = function () {
ctrl.filters.push('filter' + ctrl.filters.length);
}
}
}
)```

在blade.view中,控制器列表中的每个项目都应该显示一个循环。

<div class="filter row" ng-controller="FilterController as ctrl">
<div class="col-lg-4">
<div class="panel panel-default">
<div class="panel-heading">[['filter.filter' | translate]]</div>
<div class="panel-body">
<form ng-repeat="item in ctrl.filters" class="form-horizontal">
<div>
<select class="select_[[item]]" ></select>
</div>
</form>
<button type="button" class="btn btn-default" ng-click="ctrl.addFilter()">
<span class="glyphicon glyphicon-plus"></span>
<label for="button-label">[['filter.addFilter' | translate ]]</label>
</button>
</div>
</div>
</div>

这导致在生成app.js文件时出现问题。所有的js都不能在浏览器中工作。

浏览器控制台中也有此错误:

Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to:
[$injector:modulerr] Failed to instantiate module directives.select2 due to:
[$injector:nomod] Module 'directives.select2' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.5.11/$injector/nomod?p0=directives.select2
minErr/<@http://{{mylocalinstance}}/build/js/app-32003bf5e4.js:13328:12
setupModuleLoader/</module/<@http://{{mylocalinstance}}/build/js/app-32003bf5e4.js:15393:17
ensure@http://{{mylocalinstance}}/build/js/app-32003bf5e4.js:15317:38
module@http://{{mylocalinstance}}/build/js/app-32003bf5e4.js:15391:14
createInjector/loadModules/<@http:{{mylocalinstance}}/build/js/app-32003bf5e4.js:17929:22
forEach@http://{{mylocalinstance}}/build/js/app-32003bf5e4.js:13585:20
loadModules@http://{{mylocalinstance}}…

错误指出了模块的注册,但我没有找到一些可以帮助我的答案。(AngularJS,加载模块(

提前谢谢。它也可能是一些非常基本的东西。我对angularJs很陌生。:(

编辑:此错误也会显示-

Uncaught TypeError: (intermediate value)(...) is not a function
<anonymous> HostController.js:68

HostController.js:68HostController.js:68

我们修复了它!

(function () {
"use strict";
angular.module('app').controller('FilterController', FilterController);
function FilterController() {
let ctrl = this;
ctrl.filters = [];
ctrl.addFilter = function () {
ctrl.filters.push('filter' + ctrl.filters.length);
}
}
})();

末尾的();缺失,无法自行调用上面的函数(括号中也放有开关(。

https://developer.mozilla.org/en-US/docs/Glossary/IIFE

相关内容

最新更新