Javascript AngularJS如何使用ng选项更新选择框中的嵌套模型

Javascript AngularJS如何使用ng选项更新选择框中的嵌套模型,javascript,angularjs,ng-options,Javascript,Angularjs,Ng Options,尝试通过选择下拉框更新同级控制器中的模型 <div ng-app="myapp"> <fieldset ng-controller="FirstCtrl"> FirstCtrl Person: {{selectedPerson.last}}<br> <select ng-options="p.first + ' ' + p.last for p in people" ng-model="selectedP

尝试通过选择下拉框更新同级控制器中的模型

<div ng-app="myapp">
<fieldset ng-controller="FirstCtrl">
    FirstCtrl Person: {{selectedPerson.last}}<br>
    <select 
        ng-options="p.first + ' ' + p.last for p in people"
        ng-model="selectedPerson"></select>

    {{ selectedPerson }}
</fieldset>
<div ng-controller="SecondCtrl">
SecondCtrl Person: {{selectedPerson.last}}<br>
</div>  
我尝试了几种解决方案工厂、服务,它们在输入字段中工作得很好,但在选择框中却不行。 我做了一个简单的决定
如何以一种简单而有角度的方式实现这一点

最后,这里有一个小技巧,两个控制器没有父/子关系。 它应该通过$rootScope和$broadcast方法从一个控制器传递数据

app.js

index.html


我已经更新了。

我没有得到您的确切要求
var myapp = angular.module('myapp', []);
myapp.controller('FirstCtrl', function ($rootScope,$scope) {
    $scope.selectedPerson = null;
    $scope.people = [
        { id: 1, first: 'John', last: 'Rambo', actor: 'Silvester' },
        { id: 2, first: 'Rocky', last: 'Balboa', actor: 'Silvester' },
        { id: 3, first: 'John', last: 'Kimble', actor: 'Arnold' },
        { id: 4, first: 'Ben', last: 'Richards', actor: 'Arnold' }
    ];
    $rootScope.updatePerson = function(){
        $rootScope.$broadcast('update_SecondCtrl', $scope.selectedPerson);
    }
});
myapp.controller('SecondCtrl', function ($rootScope,$scope) {
$scope.selectedPerson = null;
$scope.people = [
    { id: 1, first: 'John', last: 'Rambo', actor: 'Silvester' },
    { id: 2, first: 'Rocky', last: 'Balboa', actor: 'Silvester' },
    { id: 3, first: 'John', last: 'Kimble', actor: 'Arnold' },
    { id: 4, first: 'Ben', last: 'Richards', actor: 'Arnold' }
];

$rootScope.$on("update_SecondCtrl", function(event, selectedPerson) {
    $scope.selectedPerson = selectedPerson;
  });
});
<div ng-app="myapp">
<fieldset ng-controller="FirstCtrl">
    <select 
        ng-options="p.first + ' ' + p.last for p in people"
        ng-model="selectedPerson"
        ng-change="updatePerson()"
        ></select>
</fieldset>
<fieldset ng-controller="SecondCtrl">
    <select
        ng-options="p.first + ' ' + p.last group by p.actor for p in people"
        ng-model="selectedPerson"></select>
    {{ selectedPerson }}
</fieldset>