【问题标题】:Is there a way to pass selected drop-down value to other controller in angular js?有没有办法将选定的下拉值传递给角度 js 中的其他控制器?
【发布时间】:2015-10-10 13:51:45
【问题描述】:

我在主控制器中有一个下拉菜单。我想将选定的值传递给另一个构建图表的指令。 在 main.html 我有:

    <select class="form-control"  ng-options="s as s.Name for s in Data" 
     ng-model="SelectedDataoption"  ng-change="DataSelected()" ></select> 

<build-chart selected={{selectedvalue}}></build-chart>

在 main.js 中

$scope.DataSelected=function(){
$scope.selectedvalue=$scope.SelectedDataoption.Name};

但我在构建图表控制器中得到空值。

【问题讨论】:

  • 也许您的 ng-options 没有很好地填充,您的 Data 变量的内容如何?
  • 我可以在 main.. 中获取值。ng-options 没有错
  • 这意味着我遗漏了一些东西,所有东西都是同一个控制器吗?

标签: drop-down-menu angularjs-directive


【解决方案1】:

您可以尝试将值放在 $rootScope 中(根据定义与所有控制器相同)。但我不确定这是不是最好的解决方案。

【讨论】:

  • 我试过了,当值改变时它不会捕获
  • 所以你只需要在 $rootScope.selected 中添加默认值就可以了,对吧?我没有看到任何其他通过多个控制器传递值的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-09
  • 2013-11-02
  • 1970-01-01
  • 2023-02-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多