Html 如何使用angular js将值从子弹出窗口传递到父页面

Html 如何使用angular js将值从子弹出窗口传递到父页面,html,angularjs,angularjs-scope,Html,Angularjs,Angularjs Scope,我有一个父页面,其中通过一个链接会出现一个弹出窗口,我想在按下ok按钮时将输入值传递给父页面。我还使用了服务来存储值,但我认为在页面加载时会调用服务方法,因为我必须将值从子级传递到父级,所以页面不会再次加载,所以值不会持久化。有人能帮我解决这个问题吗 这是我的父页面: <!-- Here I want to show the values which I got from child. But in tree-data="domain" I am not getting the

我有一个父页面,其中通过一个链接会出现一个弹出窗口,我想在按下ok按钮时将输入值传递给父页面。我还使用了服务来存储值,但我认为在页面加载时会调用服务方法,因为我必须将值从子级传递到父级,所以页面不会再次加载,所以值不会持久化。有人能帮我解决这个问题吗

这是我的父页面:

<!-- Here I want to show the values which I got from child. But in tree-data="domain"
     I am not getting the values which i pass from child html -->
<swt-tree tree-data="domain" 
          tree-control="statementTree" 
          label-provider="domainLabelProvider" 
          content-provider="domainContentProvider" 
          expand-level="-1">
</swt-tree>

<!-- Here My Child html will load -->
<div ui-view></div>
这是我的Service.js

app.factory('DomainNameService', function() {
    var busDomainValue=[];      
    var busDomain = undefined;
    return{     
    addBusDomain: function(busDomName){
        busDomainValue.push(busDomName);
    },
   getBusDomainName: function(){
        return busDomainValue;
    }
    }
})

请找个人帮我解决这个问题。提前感谢。

如果您请求帮助,请尽可能删除标记/样式中不相关的代码。谢谢你的建议,我已经删除了不相关的代码和样式,这还远远不够。您应该能够将代码减少到最低限度,以说明您的具体问题。是什么?这对你的问题至关重要吗?如果它是一个指令,它可以是任何其他内置指令吗?DomainNameService中的单个函数/变量是否足以显示您的问题?控制器也是这样。为什么您认为查看所有的s和所有的类属性很重要?我正在尝试在父页面上创建一个树,这就是为什么使用指令的原因。我无法访问父页面上的所有树节点您的问题是否特定于,如果是,您能否提供指向此库的链接?还是更普通一些。。。我对你的问题做了一些修改,以说明我所说的消除杂乱的意思。我相信你可以从控制器上移除很多东西。
controller('domainController', ['$scope', '$state', 'DomainNameService', function($scope, $state, DomainNameService) {  
    $scope.activeTab = 1;
    $scope.statements=[];
    var statementTree = {};
    $scope.statementTree = statementTree = {};
    $scope.domain = DomainNameService.getDomainName();
    $scope.addSubTree = function(val){
var varType = "busDomain";
                    var domain=[];
                    var busDomain=$scope.busdomain.name;
                    var parent = DomainNameService.getDomainName()[0];              $scope.currentDomainName=$scope.getBusDomain(busDomain,parent,varType);
                        $scope.statements.push($scope.currentDomainName);
                        $scope.statementTree.setNewInput($scope.statements);
                        DomainNameService.addBusDomain($scope.busdomain.name); 
                        $scope.domain.domainName = DomainNameService.getBusDomainName[0];
    //I am passing values here to service but later on this values resets to some previous value..I don't know how to persist the values in $scope.domain.domainname
                    $state.go('DomainTree');
                }
    $scope.getBusDomain = function(stType,parent,varType) {
            return {node:[{name:parent}],name:parent, child:[{name:stType,refType: varType}], childNode:stType, refType: varType};  
        }
app.factory('DomainNameService', function() {
    var busDomainValue=[];      
    var busDomain = undefined;
    return{     
    addBusDomain: function(busDomName){
        busDomainValue.push(busDomName);
    },
   getBusDomainName: function(){
        return busDomainValue;
    }
    }
})