将数据从控制器移动到工厂,无法从那里获取

时间:2013-02-12 08:51:47

标签: angularjs factory

This is a shortened version of the js file

var linksManager = angular.module('linksManager', ['ui']);
angular.bootstrap(document, ['linksManager']);

linksManager.factory('linksData', function () {
    var linksData = [
        {
            text: 'Menu Item 1',
            url: '#'
        }, {
            text: 'Menu Item 2',
            url: '#',
            submenu: [
 // more data ...

});

function linksRarrange($ scope,linksData){     $ scope.links = linksData; }

linksData直接位于linksRearrange控制器

之前
$scope.links = [
        {
            text: 'Menu Item 1',
            url: '#'
        }, {
            text: 'Menu Item 2',
            url: '#',
            submenu: [
 // more data ...

它工作正常,为什么共享现在不起作用?

这是HTML,它现在不显示任何内容:

<div class="nav-manage clearfix" ng-app="linksManager">

    <div class="links-arrange" ng-controller="linksRarrange">
        <ul class="sortable">
            <li ng-repeat="level1link in links">
                <a href="{{level1link.url}}">{{level1link.text}}</a>
                <ul class="sortable">
                    <li ng-repeat='level2link in level1link.submenu'>
                        <a href="{{level2link.url}}">{{level2link.text}}</a>
                        <ul class="sortable">
                            <li ng-repeat='level3link in link.level2link'>
                                <a href="{{level3link.url}}">{{level3link.text}}</a>
                            </li>
                        </ul>
                    </li>
                </ul>
            </li>
        </ul>
    </div>

1 个答案:

答案 0 :(得分:1)

角度的

factory应该返回对象。

我想你忘记了

return linksData;

在工厂功能结束时。