AngularJS - 访问 ng-view 之外的元素 [英] AngularJS - access elements outside of ng-view
问题描述
我有一个带有 ng-view(管理面板)的设置,可以让我显示订单.我在 ng-view 之外有一个搜索框,我想用它来修改我的 json 请求.我看过一些关于访问标题等内容的帖子,但无法让它们工作 - 可能已经过时.
主要应用内容:
angular.module('myApp', ['myApp.controllers', 'myApp.filters', 'myApp.services', 'myApp.directives', 'ui.bootstrap']).config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {$routeProvider.什么时候('/', {templateUrl: '/partials/order/manage.html',控制器:'ManageOrderCtrl'}).当('/订单/:id',{templateUrl: '/partials/order/view.html',控制器:'ViewOrderCtrl'}).除此以外({重定向到:'/'});$locationProvider.html5Mode(true);}]);
管理控制器:
angular.module('myApp.controllers', []).controller('ManageOrderCtrl', ['$scope', '$http', '$dialog', 'config', 'Page', function($scope, $http, $dialog, config, Page) {//想要从输入#search 中获得搜索值,这里可用var getData = function() {$http.get('/订单').成功(功能(数据,状态,标题,配置){$scope.orders = data.orders;});};获取数据();})
查看:
<input type="text" id="search"><div class="ng-cloak" ><div ng-view></div>
如果你要访问 <div ng-view></div>
之外的东西,我认为更好的方法是为外部区域创建一个控制器.然后创建一个服务来在控制器之间共享数据:
<body ng-app="myApp" ><div ng-controller="MainCtrl"><input type="text" id="search">
<div class="ng-cloak" ><div ng-view></div>