如何在AngularJS中将参数传递给子uiView?

时间:2016-01-19 03:51:17

标签: angularjs angular-ui-router

我的州有多个观点。

angular.module('myapp', ['ui.router']).state('property', {
    url: '/property',
    views: {
        '': {
            templateUrl: 'partial/propertyView.html',
            controller: 'PropertyController as property'
        },
        'queue@property' : {
            templateUrl: 'partial/queueView.html',
            controller: 'QueueController as queueController'
        }
    }
})

propertyView.html

<input type='text' ng-model='property.filterCode' ng-change='property.search()'>

<div ui-view="queue"></div>

如何将filterCode变量传递给queueController?

1 个答案:

答案 0 :(得分:0)

或者可能使用指令?根据您的应用程序结构,我发现嵌套视图很难管理。指令也非常适合这个!

控制器:

.controller('MainCtrl', function ($scope, $rootScope, $location) {
    $scope.queue = "1"
});

查看:

<input type="text" ng-model="queue">
<queue queue="queue"></queue>

指令:

.directive('queue', function($) {
    return {
        restrict:'E',
        scope: {
            queue: '=queue'
        },
        template: '<div>{{queue}}</div>',
        link:function(scope,element,attr){
            // Do whatever you want with it
            console.log(scope.queue);
        }
    };
});