Angularjs 如何在非角度代码中获取角度控制器成员?

Angularjs 如何在非角度代码中获取角度控制器成员?,angularjs,angularjs-controller,Angularjs,Angularjs Controller,我把脚趾伸进了棱角分明的大海。我有一个web应用程序,它使用jQuery允许用户使用输入表单和按钮与应用程序交互。我正在学习Angular,作为练习,我决定尝试用Angular编写代码 <body ng-app="myApp" ng-controller="MainFormCtrl as Form"> 我使用上面的ng应用程序和ng控制器指令使我的应用程序使用我编写的角度控制器 我使用ng model指令处理用户可以输入数据的每个输入。我使用表单ng model=“form.i

我把脚趾伸进了棱角分明的大海。我有一个web应用程序,它使用jQuery允许用户使用输入表单和按钮与应用程序交互。我正在学习Angular,作为练习,我决定尝试用Angular编写代码

<body ng-app="myApp" ng-controller="MainFormCtrl as Form">

我使用上面的
ng应用程序
ng控制器
指令使我的应用程序使用我编写的角度控制器

我使用
ng model
指令处理用户可以输入数据的每个输入。我使用表单
ng model=“form.inputs.xxxxx”
,因为我希望能够将输入值集合作为单个对象传递

我在控制器中编写了代码,为这些输入提供默认值。我仍在使用现有代码从DOM读取值。我知道一旦我声明了我的模型和控制器,Angular神奇地允许我传递模型,以便我可以读取它并在程序中的其他地方对它进行更改


我已将名为
getInputs
的方法附加到我的角度控制器。如何从非角度代码调用此成员函数(或获取控制器对象的其他成员)?如果这不实用,我应该使用什么样的解决方案。

您可以通过以下方式从非角度代码访问控制器:

$("[ng-controller='MainFormCtrl']").scope()
编辑以显示如何使用Jquery(上)和非Jquery(下)访问控制器内的作用域和所有方法


非角度代码到底做什么?Angular只是一个框架,它并没有改变JavaScript的操作方式;也就是说,您可以做一些事情来确保Angular能够跟上您正在做的事情。简短的回答可能是:如果您的ng模型是
Form.inputs.xxxxx
,Angular将在它的
$scope
对象中自动创建一个变量来跟踪对该模型的更改。您的控制器可以访问
$scope.Form.inputs.xxxxx
作为一个值,双向绑定。我有几分钟的时间,如果您愿意,我们可以聊天并尝试讨论您的具体案例?让我知道。实际上,在您的代码中,由于您使用的是ControllerAs语法,
输入
将只是控制器的一个属性,因此
输入。xxxxx
可以工作,而不使用
$scope
。我不确定您是否清楚我的问题,@Claies。我试图从非角度代码访问控制器的内容。我不确定这是否被允许。我现在在AngularJS聊天室,这不起作用。我只得到一个数组,其中有一个元素,我看不到任何方法可以从中访问控制器。另外,我尝试使用Angular而不是jQuery,但是这个答案使用jQuery。做一个快速搜索,似乎应该有一些不使用jQuery的方法来做到这一点。感谢您的帮助!
document.getElementById('yourControllerElementID').scope()