我有一个非常复杂的嵌套角度对象。 现在在对象结束时,ng-click没有用。
我读到了角度范围的工作原理,我得到了ng-click为循环中的每个项目创建一个子范围。 我没有得到的是如果ng-click无法找到我尝试在作用域中调用的函数,它如何找到返回作用域的函数。
这就是我的意思:
mainApp.controller('fileController', function ($scope) {
$scope.function_ngclick_cant_get = function (){
// stuff here
};
$scope.getMyCtrlScope = function() {
return $scope;
}
}
这是btn
<button class="btn btn-default" type="submit" value="Submit" ng-click="getMyCtrlScope().function_ngclick_cant_get();">call function</button>
如果我打电话给&#39; function_ngclick_cant_get&#39;直接它不起作用。 如果我在示例中调用它就可以了。
但为什么会这样呢?它们属于同一范围。
答案 0 :(得分:0)
好的我可能错了,因为我不确定你要做什么,但为什么要设置返回$ scope的函数?你可以简单地做任何回报或范围。
向控制器中的$ scope对象添加属性时,视图(HTML)可以访问这些属性。 所以你的代码应该是这样的:
<button class="btn btn-default" type="submit" value="Submit" ng-click="function_ngclick_cant_get();">call function</button>
您可以查看w3schools关于范围:https://www.w3schools.com/angular/angular_scopes.asp
<强>更新强>
我准备了一些虚拟代码,表明你可以使用ng-click进行多次ng重复:
https://jsfiddle.net/pegla/2e4w3yuo/10/
所以不需要返回$ scope的函数,看起来你的代码中有问题,发布更多的代码放在小提琴或某个地方,我们可以提供帮助。