我是Angular的新手,无法确定我哪里出错了。我只是想把我的工厂注入我的控制器,在我的html中引用控制器并使用ng-repeat来显示数据。我甚至不能单独使用把手并排除ng-repeat。我在这里看看我的代码中是否存在一些我错过的错误。我已经经历了两个单独的教程,以获得一个挂起,并确信我有它。我猜不是。
HTML:
<html data-ng-app='theApp'>
<div class='sideRow' data-ng-controller='mainTagController'>
<div class='sideRowLabel'>TAGS</div>
<div class='sideRowData'>
<a href='page.html' class='blueLink' data-ng-repeat='mainTag in mainTags'>{{ mainTag }}</a>
</div>
</div>
JS:
/// <reference path="../../vendor/angular.min.js" />
var theApp = angular.module('theApp', []);
theApp.factory('mainTagFactory', function() {
var mainTags = [
{ mainTag: 'Tag 1'},
{ mainTag: 'Tag 2'},
{ mainTag: 'Tag 3'},
];
var factory = {};
factory.getMainTags = function() {
return mainTags
}
return factory
});
theApp.controller('mainTagController', function ($scope, mainTagFactory) {
init();
function init() {
$scope.mainTags = mainTagFactory.getMainTags();
}
});
答案 0 :(得分:2)
似乎你只是在工厂函数中缺少一些分号。
在这里你可以找到一个有效的jsfiddle:
factory.getMainTags = function() {
return mainTags
}
return factory
我也可以用{{mainTag.mainTag}}替换{{mainTag}},因为我认为这是你想要实现的目标。
希望它适合你
彼得
答案 1 :(得分:-1)
var theApp = angular.module('theApp', []);
theApp.factory('mainTagFactory', function() {
var mainTags = [
{ mainTag: 'Tag 1'},
{ mainTag: 'Tag 2'},
{ mainTag: 'Tag 3'},
];
var factory = {};
factory.getMainTags = function() {
return mainTags
}
return factory
});
theApp.controller('mainTagController', ['$scope', 'mainTagFactory', function ($scope, mainTagFactory) {
init();
function init() {
$scope.mainTags = mainTagFactory.getMainTags();
}
}]);