首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AngularJS控制器和rootScope的多次使用

AngularJS控制器和rootScope的多次使用
EN

Stack Overflow用户
提问于 2012-11-01 23:28:48
回答 3查看 45.2K关注 0票数 19

我想在两个分离的HTML元素上使用一个控制器,并在编辑一个元素时使用$rootScope来保持两个列表的同步:

HTML

代码语言:javascript
复制
<ul class="nav" ng-controller="Menu">
    <li ng-repeat="item in menu">
        <a href="{{item.href}}">{{item.title}}</a>
    </li>
</ul>

<div ng-controller="Menu">
    <input type="text" id="newItem" value="" />
    <input type="submit" ng-click="addItem()" />
    <ul class="nav" ng-controller="Menu">
        <li ng-repeat="item in menu">
            <a href="{{item.href}}">{{item.title}}</a>
        </li>
    </ul>    
</div>

JS

代码语言:javascript
复制
angular.module('menuApp', ['menuServices']).
    run(function($rootScope){
        $rootScope.menu = [];
    });

angular.module('menuServices', ['ngResource']).
    factory('MenuData', function ($resource) {
        return $resource(
            '/tool/menu.cfc', 
            {
                returnFormat: 'json'
            },
            {
                getMenu: {
                    method: 'GET',
                    params: {method: 'getMenu'}
                },
                addItem: {
                    method: 'GET',
                    params: {method: 'addItem'}
                }
            }
        );
    });

function Menu($scope, MenuData) {

    // attempt to add new item
    $scope.addNewItem = function(){
        var thisItem = $('#newItem').val();

        MenuData.addItem({item: thisItem},function(data){
            $scope.updateMenu();
        });
    }   

    $scope.updateMenu = function() {
        MenuData.getMenu({},function(data){
            $scope.menu = data.MENU;
        });         
    }

    // get menu data
    $scope.updateMenu();
}

当页面加载时,ULDIV都会显示数据库中的正确内容,但是当我使用addNewItem()方法时,只有DIV会更新。

有没有更好的方法来组织我的逻辑,或者我可以做些什么来确保UL中的$scope.menu同时更新?

下面是一个类似的例子:http://plnkr.co/edit/2a55gq

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13180293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档