如何在非 Angular 代码中获取 Angular 控制器成员?
How to get Angular controller members in non-Angular code?
我正在 Angular 海洋中试探。我有一个 Web 应用程序,它使用 jQuery 允许用户使用输入表单和按钮与应用程序交互。我正在学习 Angular 作为练习,我决定尝试编写代码来用 Angular 代替。
<body ng-app="myApp" ng-controller="MainFormCtrl as Form">
我使用上面的 ng-app
和 ng-controller
指令使我的应用程序使用我编写的 Angular 控制器。
我对用户可以输入数据的每个输入使用 ng-model
指令。我使用 ng-model="Form.inputs.xxxxx"
形式,因为我希望能够将输入值集合作为单个对象传递。
我已经在我的控制器中编写代码,为这些输入提供默认值。我仍在使用我现有的代码从 DOM 中读取值。我知道一旦我声明了我的模型和控制器,Angular 神奇地允许我传递模型,这样我就可以在我的程序的其他地方读取它并对其进行更改。
我已将名为 getInputs
的方法附加到我的 Angular 控制器。如何从非 Angular 代码调用此成员函数(或获取控制器对象的其他成员)?如果那不切实际,我应该使用什么样的解决方案。
您可以通过
从非 angular 代码访问控制器
$("[ng-controller='MainFormCtrl']").scope()
已编辑以显示如何使用 Jquery(上文)和非 Jquery(下文)
访问范围和控制器内的所有方法
document.getElementById('yourControllerElementID').scope()
我正在 Angular 海洋中试探。我有一个 Web 应用程序,它使用 jQuery 允许用户使用输入表单和按钮与应用程序交互。我正在学习 Angular 作为练习,我决定尝试编写代码来用 Angular 代替。
<body ng-app="myApp" ng-controller="MainFormCtrl as Form">
我使用上面的 ng-app
和 ng-controller
指令使我的应用程序使用我编写的 Angular 控制器。
我对用户可以输入数据的每个输入使用 ng-model
指令。我使用 ng-model="Form.inputs.xxxxx"
形式,因为我希望能够将输入值集合作为单个对象传递。
我已经在我的控制器中编写代码,为这些输入提供默认值。我仍在使用我现有的代码从 DOM 中读取值。我知道一旦我声明了我的模型和控制器,Angular 神奇地允许我传递模型,这样我就可以在我的程序的其他地方读取它并对其进行更改。
我已将名为 getInputs
的方法附加到我的 Angular 控制器。如何从非 Angular 代码调用此成员函数(或获取控制器对象的其他成员)?如果那不切实际,我应该使用什么样的解决方案。
您可以通过
从非 angular 代码访问控制器$("[ng-controller='MainFormCtrl']").scope()
已编辑以显示如何使用 Jquery(上文)和非 Jquery(下文)
访问范围和控制器内的所有方法document.getElementById('yourControllerElementID').scope()