AngularJS ng-包括左导航

时间:2014-09-23 20:25:51

标签: angularjs angular-ui

仅供参考 - 我们正在使用Angular的数据绑定能力。我们不是试图将我们的应用程序开发为SPA,所以我不认为$ routeprovider是一个选项(如果我错了,请告诉我)。所以,这是问题所在。 当我使用ng-include将左侧导航加载为部分时,该部分加载正常,但下拉列表不起作用,因为父级作用域中的作用域数据不可用于部分页面,因为ng-include创建子作用域。所以,当我尝试使用ng-include从部分访问它时,我的数组,我需要传递的url id作为url参数是'undefined'。让它发挥作用的最佳方法是什么?

以下是导航中的下拉列表。

<select class="form-control-menu input-xs" ng-model="selectprogram" ng-change="onChange()" ng-disabled="isLoading"
ng-options="obj.name for obj in programList">
<option value="">PROGRAMS</option>
</select>

以下是调用的onchange事件。

$scope.onChange = function () {

        window.location.href = '../View/programs.html?reportid=' + $scope.reportID + '&programid=' + $scope.selectprogram.id;

    }

解决此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您有几个选择:

  • 在父作用域中使用对象作为共享属性。由于范围是原型继承的更新将保持不变。对于原始类型,情况并非如此。

  • 在父作用域上定义onChange函数(由于原型继承也将保持不变)。

  • 使用子范围内的$ scope。$ parent。不推荐/不良做法。

更深入的讨论:

AngularJS - losing scope when using ng-include