从angular js中的另一个ng应用程序调用方法
Call method from another ng-app in angular js
我在同一页面上有2ng应用程序块。一个用于列出项目,另一个用于插入。我想在完成插入后调用listing函数。我尝试过一些东西,但没能成功。我在同一个ng应用程序上找到了一些关于调用函数的文档,但我需要从另一个ng程序调用函数。
这是我的代码,请帮忙。
<body>
<div id="UserControllerDiv" ng-app="UserTableApp" ng-controller="UsersController" class="form-group">
<br /><br />
<p>Search : <input type="text" ng-model="search" /></p>
<table class="table table-hover">
<thead>
<tr>
<th>First Name</th>
<th>Middle Name</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="u in users | filter:search">
<td>{{ u.FirstName }} </td>
<td>{{ u.MiddleName }} </td>
</tr>
</tbody>
</table>
</div>
<br />
<div id="UserFormDiv" ng-app="UserFormApp" ng-controller="UserFormCtr" class="form-group">
<table class="form-group">
<tr>
<td>First Name</td>
<td> : </td>
<td><input type="text" ng-model="FirstName" class="" /> </td>
</tr>
<tr>
<td>Middle Name</td>
<td> : </td>
<td><input type="text" ng-model="MiddleName" /> </td>
</tr>
<tr>
<td></td>
<td></td>
<td>
<button ng-click="submit()">Save</button>
</td>
</tr>
</table>
</div>
<script>
var userTableApp = angular.module("UserTableApp", []);
userTableApp.controller("UsersController",
function UsersController($scope, $http) {
$http.get("http://localhost:10160/UserService/Users")
.success(function (response) { $scope.users = response; });
});
var userFormApp = angular.module("UserFormApp", []);
userFormApp.controller("UserFormCtr",
function UserFormCtr($scope, $http) {
$scope.submit = function () {
var dataObj = {
FirstName: $scope.FirstName,
MiddleName: $scope.MiddleName
};
var res = $http.post("http://localhost:10160/UserService/AddUser", dataObj);
res.success(function (data, status, headers, config) {
/****** Here I want to call the UsersController function of UserTableApp ************/
/* I tried the code below but it did not work */
var scope = angular.element(document.getElementById("UserControllerDiv")).scope();
scope.$apply(function () { scope.UsersController($scope, $http); });
/*************************************************************************************/
});
res.error(function (data, status, headers, config) {
alert("failure message: " + JSON.stringify({ data: data }));
});
}
});
angular.bootstrap(document.getElementById("UserFormDiv"), ['UserFormApp']);
</script>
谢谢你的帮助。。。
以下是如何从其他控制器应用程序调用函数。
var scope = angular.element(document.getElementById("UserControllerDiv")).scope();
scope.yourfunctionName();
流程将转到上述函数。为了保证您可以在控制台的作用域对象中检查方法的存在性。你说得对。
相关文章:
- ng应用程序使脚本无限运行
- Angular ng控制器与ng应用程序冲突
- 在AngularJS中的另一个ng应用程序中使用来自一个ng程序的Cookie值
- 通过共享服务在两个不同ng应用程序中的控制器之间共享数据
- 如何在angularjs中按顺序执行多数据ng应用程序
- 如何在angular js的ng应用程序中以普通的htm显示标签
- 从angular js中的另一个ng应用程序调用方法
- 在全球范围内强制ng严格di,而不仅仅是在ng应用程序级别上
- AngularJS-ng应用程序不工作,如果不是emplty
- 如何使用附加到html标签的嵌套ng应用程序将一个基于angularjs的SPA包含到另一个基于angularjs
- 多个ng应用程序是如何在angular中工作的(为什么会有这样的行为?)
- 为什么一个ng应用程序一次工作
- ng包含不'ng应用程序获得名称时不起作用
- 我该如何命名angular Js的ng应用程序
- angular.bootstrap()-在不需要ng应用程序或ng控制器的情况下引导angular应用程序
- 页面上未显示多个ng应用程序
- 多个ng应用程序问题
- Angular.js ng应用程序不仅可用于控制器
- ng应用程序的输出
- 角度.js模块化 - 多个NG应用程序