在 AngularJS 中,用于选择不同控制器的选项 - 如何刷新
in angularjs, options for select in different controller - how to refresh?
有两个不同的控制器,一个用于语言,langCntl
,一个用于单词,wordCntl
。
在wordCntl
记录中,有一个名为 ln
的属性。 ln
使用 ng-select
显示在表单中,ngOptions
基于langCntl
控制器中的记录。
当记录在langCntl
中更改时,如何在wordCntl
中ln
刷新select
?
朗莫德.js
var langMod = angular.module('langMod', ['ngResource']);langMod.controller('langCntl',function($scope,$http) { $scope.langs = []; $scope.reset = 函数() { $http.get( '/lang.jsn').success( function(data) { console.log( 'http.success: data='+data ); $scope.langs = angular.copy($scope.origs); }); }; $scope.reset();});langMod.controller('wordCntl',function($scope) { var langElem = document.querySelector("[ng-controller='langCntl']"); $scope.langs = angular.element(langElem)).scope().langs; $scope.rcd = { ln: 'en', word: '?' };});
索引.html
<身体><选择 ng-model="rcd.ln" ng-options="c.lang 作为 c.name for c in langs">选择> 身体>
多么有趣(对我来说):
langCntl.langs
更改后,wordCntl.langs
仍然是空数组。- 在
ngoptions
中,有没有办法直接使用langCntl
中的记录?
Reference angualrjs sdk:$broadcast(名称,参数)
将事件名称向下分发到所有子作用域(及其子作用域),通知已注册的 ng.$rootScope.Scope#$on 侦听器。
事件生命周期从调用$broadcast的范围开始。侦听此作用域上的名称事件的所有侦听器都会收到通知。之后,该事件将传播到当前范围的所有直接和间接范围,并在此过程中调用所有注册的侦听器。活动无法取消。
相关文章:
- 如何取消选择所选选项并将JqueryMobile中选择的值刷新为1st
- 只有当选项卡/窗口有焦点时,页面才能每5秒刷新一次
- AngularJS:点击选项卡刷新视图中的数据
- Selectbox选项在页面刷新jsp后保持选中状态
- Jquery选择菜单选项在页面刷新时失败
- 如何在不刷新页面的情况下每次单击一组选项卡时刷新视图内容窗格
- 如何自动刷新 GWT 选项卡面板中的各个选项卡
- 如何记住提交/刷新后使用的最后一个选项卡
- 页面刷新后,所选选项卡处于非活动状态
- 当我点击浏览器返回选项时,阻止在php上刷新页面
- 如何刷新'选项'ko多选组件中的绑定
- 引导程序3:返回页面刷新的下拉选项卡
- 如何在刷新后激活菜单选项卡
- 谷歌地图没有在标签2中和标签3中正确加载.如何创建刷新选项卡
- 在页面刷新时恢复下拉选择的选项
- 在 AngularJS 中,用于选择不同控制器的选项 - 如何刷新
- 如何使用 Javascript 从另一个选项卡刷新选项卡
- 引导选项卡刷新页面
- 使用jQuery选项卡刷新加载到iframe中的html
- 单击启动选项卡刷新