![](/img/trans.png)
[英]AngularJS + RequireJS. Unknown provider: $routeProvider?
[英]AngularJs + RequireJs filter Unknown provider
我對如何正確注入過濾器有問題,問題只出現在生產環境中,在我的本地主機上都正確,我以為過濾器在角度之前加載,但是我已經設置了斷點,並看到所有這種方式都是正確的(或者我錯過了一些東西)看起來像部門問題。 注射,但我找不到正確的方法。
這是我的文件,請幫忙,我對這個問題不屑一顧。
boot.js
window.name = 'NG_DEFER_BOOTSTRAP!';
require.config({
'baseUrl': '/static/angular/',
'paths': {
/* .... */
},
'shim': {
/* .... */
}
});
require([
'angular',
'app'
], function (angular, app) {
'use strict';
angular.element(document.getElementsByTagName('html')[0]);
angular.element().ready(function () {
angular.resumeBootstrap([app.name]);
});
});
app.js
define([
'angular',
'filters/filters',
'controllers'
], function (angular) {
/* .... */
return app;
});
controllers.js
define( function (require) {
'use strict';
var angular = require('angular'),
Controllers = angular.module('controllers', []);
Controllers.controller('mainController', require('controllers/main.controller'));
/* .... */
return Controllers;
});
filter / filters.js
require([
'app'
], function (app) {
'use strict';
app.filter('yesNo', function() {
/* .... */
});
return app;
});
我找到了一種方法,現在創建過濾器模塊,而不是通過傳遞應用程序依賴關系,而是發送角度對象並注入新模塊:
filter / filters.js
require([
'angular'
], function (angular) {
'use strict';
angular.module('filters', []).filter('yesNo', function() {
/* .... */
});
});
app.js
define([
'angular',
'filters/filters',
], function (angular) {
'use strict';
var app = angular.module('appName', [
'filters',
]);
/* .... */
return app;
});
現在可以正常使用了!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.