1

私はAngularが初めてで、どこが間違っているのかを特定できません。私は単純に自分のファクトリをコントローラーに挿入し、html 内でそのコントローラーを参照し、ng-repeat を使用してデータを表示しようとしています。ハンドルバーだけを使用して ng-repeat を除外するだけでは、動作させることさえできません。私はここにいて、私のコードに欠けている何かが明らかに間違っているかどうかを確認しています。私はこれを理解するために 2 つの個別のチュートリアルを行ってきましたが、確実に理解できました。私はそうではないと思います。

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 に答える