1

我是 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(); 

    }

});
4

2 回答 2

2

似乎您只是在工厂函数中缺少了一些分号。

在这里你可以找到一个工作的 jsfiddle:

http://jsfiddle.net/ME49s/

factory.getMainTags = function() { 

    return mainTags 

}

return factory 

我还可以随意将 {{ mainTag }} 替换为 {{ mainTag.mainTag }},因为我认为这是您想要实现的。

希望对你有帮助

彼得罗

于 2013-05-19T06:50:14.177 回答
-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(); 

    }

}]);
于 2015-06-15T07:29:49.827 回答