我使用angularjs种子并尝试编写一个简单的工厂并将其插入控制器。
我有一个Row工厂定义
angular.module('myApp')
.factory('Row', [ function () {
return 'some string';
);
}])
我的view1控制器里面有
'use strict';
angular.module('myApp.view1', ['ngRoute'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/view1', {
templateUrl: 'view1/view1.html',
controller: 'View1Ctrl'
});
}])
.controller('View1Ctrl', ['$scope', 'Row', function($scope, Row) {
}]);
我收到一个错误,它没有找到Row工厂。
答案 0 :(得分:1)
您的工厂应使用myApp.view1
模块,因为myApp
模块未定义。
angular.module('myApp.view1')
.factory('Row', [function() {
return 'some string';
}])
<强>更新强>
如果您想创建一个新模块并将工厂附加到它,那么您应该创建一个新模块并在[]
数组中包含先前的依赖项。
angular.module('myApp', ['myApp.view1'])
.factory('Row', [function() {
return 'some string';
}])
注意:应该在工厂JS之后加载这个JS,以使myApp.view1
可用。
好像你只返回工厂的字符串值。我说而不是工厂,你可以constant
/ value
。从而使constant
成为首选方式。因为它也可以在配置阶段使用。
angular.module('myApp.view1')
.constant('Row', 'some string');
答案 1 :(得分:0)
告诉“myApp.view1”使用“myApp”。
angular.module('myApp.view1', ['ngRoute', 'myApp'])