有一个简单的表格
<ng-form name="foo">
<button />
</ng-form>
单击该按钮应提醒表单名称foo。
有没有角度的方法来做到这一点?
编辑:告诉我我父母的名字是一个可能的解决方案。
有一个简单的表格
<ng-form name="foo">
<button />
</ng-form>
单击该按钮应提醒表单名称foo。
有没有角度的方法来做到这一点?
编辑:告诉我我父母的名字是一个可能的解决方案。
您应该可以在以下位置访问它$scope:
$scope.foo
ng-click期望当前范围内的Angular表达式或函数。看起来Angular不允许您使用全局范围方法。
Angular 使用
$parse服务来评估ng-click="expression".
$parse使用字符串解析来解释expression,它将您对变量、函数和对象的访问限制为仅属于$scope对象属性或任何$parent范围对象属性的那些。
在你的Template&中试试这个Controller!
模板
ng-click="alert(foo.$name)" <!-- foo ~ MY_FORM_NAME in your case -->控制器
$scope.alert = function(formName){ alert(formName); }
这将JavaScript alert()正确执行。
有关更多信息,请参阅AngularJS/ngClick。
希望能帮助到你!
假设按钮的表单是它的直接父级,您可以利用$eventon 属性ng-click遍历 DOM 并定位父表单元素。这使用angular.element(someElement).parent().
$scope.showFormName = function($event) {
$scope.formName = angular.element($event.target).parent()[0].name;
};
<button ng-click="showFormName($event)">Show Form Name</button>
http://plnkr.co/edit/yDPc76rqUHpOcL2aGeIU?p=preview
如果按钮不是表单元素的直接后代,或者不在表单本身内,则可能需要更高级的 DOM 遍历,最有可能通过 JQuery,因为这不是 Angular 框架的设计目标的一部分。