在指令控制器和子指令之间共享范围/数据

时间:2015-04-07 22:37:36

标签: angularjs

我打开自定义模式(使用angular-bootstrap):

$modal.open({
    // templateUrl, etc
    controller: 'DemoModalController'
});

它将表单处理方法和数据加载到其控制器/范围:

modals.controller('DemoModalController', ['$scope', function($scope) {

   $scope.formData = {};
});

此模式的模板具有<div location-field>元素,它是我定义为指令的自定义字段。

    locationField.directive('locationField', function() {
        return {
            restrict: 'A',
            templateUrl: 'location-field.html',
            controller: 'LocationFieldController'
        };
    });

我试图找到访问locationField指令内表单字段中数据的最佳解决方案。

如果<input type="text" ng-model="location.x">中有一个元素,我希望location可以访问DemoModalController

我已尝试将指令设置为scope: falsescope: { location: '=' }(并在控制器中设置位置对象),以及scope: { location: '@' },但似乎都没有。

到目前为止,唯一有效的方法是从模态控制器范围调用$scope.$$childTrail.location

1 个答案:

答案 0 :(得分:1)

你可以尝试传递这样的字段:

<div location = "{{location}}">