Javascript 解析的用途是什么?如何将弹出屏幕中的数据发送到angular js中的视图?

Javascript 解析的用途是什么?如何将弹出屏幕中的数据发送到angular js中的视图?,javascript,jquery,angularjs,angularjs-directive,angularjs-scope,Javascript,Jquery,Angularjs,Angularjs Directive,Angularjs Scope,我举了一个简单的例子,其中我使用了resolve关键字。但我不知道这有什么用。让我来解释一下这个例子。我有一个按钮和文本字段。我在文本字段上写了什么,然后按一下,打开弹出屏幕,屏幕上的文本与文本字段中写的文本相同。 所以我的问题是“决心”是什么意思?其次,从何处textValue:函数调用 resolve: { textValue:function(){ return $scope.textValue; }

我举了一个简单的例子,其中我使用了resolve关键字。但我不知道这有什么用。让我来解释一下这个例子。我有一个按钮和文本字段。我在文本字段上写了什么,然后按一下,打开弹出屏幕,屏幕上的文本与文本字段中写的文本相同。 所以我的问题是“决心”是什么意思?其次,从何处textValue:函数调用

resolve: {
          textValue:function(){
                  return $scope.textValue;
          }

              }
其次,如果我需要这样做,反之亦然,我该如何实现?换句话说,如果我单击按钮打开弹出屏幕,在文本字段中写入任何内容,然后单击提交按钮,它将在输入字段中显示文本。如何实现

这是普朗克 如何从下面的链接更改值:“解析包含一个或多个承诺,这些承诺必须在路由更改之前成功解析。这意味着您可以在显示视图之前等待数据可用,并简化控制器内模型的初始化,因为初始数据将提供给控制器,而不是控制器需要外出获取数据。”

更多信息请点击链接


下面是一个简单的解析示例:

angular.module('myApp',['people-services']).config(['$routeProvider',function($routeProvider){
    $routeProvider
        .when('/somepath',{
            controller : 'myCtrl',
            templateUrl : 'url/to/tmpl',
            resolve : {
                people : ['findPeopleSrvc',function(findPeopleSrvc){
                    return findPeopleSrvc.find().then(function(response){ // success
                        return response.data.people;
                    },function(){ // failed
                        return [];
                    });
                }]
            }
        })
        .when('/someotherpath',{
            controller : 'someOtherCtrl',
            templateUrl : 'url/to/some/other/tmpl'
        });
}]);
然后在/somepath的控制器中,解析数据作为最后一个参数注入:

.controller('myCtrl',['$scope','people',function($scope,people){
    // .. do something here ...
}]);
如果在resolve对象中有多个已解析函数,则这些函数将作为注入数据连续添加到控制器函数的参数列表中


请注意,findPeopleSrvc只是一个服务组合,它返回一个承诺以说明示例。

我已将代码更新为以两种方式工作。请检查[plunkr]:

关于解析函数 $modal.open函数中的解析意味着当解析承诺成功时,它将打开modal弹出窗口。 这是[Angular Bootstrap library]的一部分: $modal是一种快速创建AngularJS支持的模态窗口的服务。 我从文档[链接]中复制了以下内容:

虽然它相当于angularjs路由的resolve属性,但在这里它的意思是在模态弹出的上下文中

使代码正常工作…

对于从模态控制器(modalController)到cntr的通信,我使用了广播和on事件。 在modal submit上,我正在引发广播事件并使用以下代码订阅它

广播活动

 $rootScope.$broadcast('modalSubmit', {
        modalText: $scope.modaldata.passedValue // send whatever you want
      });
订阅事件

$scope.$on('modalSubmit', function(event, data) {
    console.log(data); // 'Data to send'
    $scope.textValue = data.modalText;
  });
还有一个问题。请注意modalController中的以下代码。我以前也遇到过这个奇怪的问题。 我换了

$scope.passedValue = textValue;
有以下几点

$scope.modaldata = {
      passedValue: textValue
    };

请你解释一下我是如何做到的,反之亦然。请删除你的答案你的第一个问题是“那么我的问题是什么意思?”?”这就是答案。若你们在寻找其他的东西,我建议你们编辑你们的问题,使之更清楚。如何解决这个问题?我想你们不明白什么是解决<代码>$scope解析功能无法访问,解析主要用于在视图更改之前从服务器获取数据。您的视图更改将等待此数据并将其注入控制器。它将从其中调用textValue:function(){return$scope.textValue;}…从这里,textvalue函数调用我理解$scope.textvalue获取值。但是从它调用的地方,我理解$scope.textvalue获取值。但是从它调用Resolve的地方,它调用Resolve是
$routeProvider
服务的一个属性,它会在请求自动更改路由时调用其函数进行解析<代码>$scope将不可用。好的,我看到您正在尝试使用UI引导的模式服务。它的工作方式大致相同,解析函数将被附加到模态控制器的参数列表的末尾。
$scope
将在modal.open方法中可用,我以为您谈论的是一般解析,就像使用
$routeProvider
$scope.modaldata = {
      passedValue: textValue
    };