2016-01-19 86 views
0

我有一個有多個視圖的狀態。如何將參數傳遞給AngularJS中的子uiView?

angular.module('myapp', ['ui.router']).state('property', { 
    url: '/property', 
    views: { 
     '': { 
      templateUrl: 'partial/propertyView.html', 
      controller: 'PropertyController as property' 
     }, 
     '[email protected]' : { 
      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?

+0

你可以啓動一個事件時,更改代碼,你可以在數據過濾代碼轉移到服務,你可以有一個處於抽象狀態的父控制器 – sirrocco

回答

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); 
     } 
    }; 
}); 
相關問題