我有一个ng-click="myMethod(parameter)"
里面 <button>
元素。我想用这个parameter
,在我的例子中,它是 Controller 内的一个字符串,以便我可以执行类似 $scope.parameter.subProperties
的操作在上面。所以实际上这个参数实际上是现有 $scope.object 的别名。
所以我的目标是重用这个myMethod()
在不同的地方,例如 ng-click
位于<button>
并在相应的 $scope
上执行相同的功能由 parameter
标识的对象名称。
用于查找 object1
长度的模拟代码 Controller 内部将如下所示:
.controller('MyCtrl', function($scope){
$scope.object1;
$scope.object2;
$scope.myMethod = function(arg){
var length = $scope.arg.length;
};
})
这里,作为参数传递的值可以是对象名称之一,如下所示:
<button ng-click="myMethod(object1)">Find Length</button>
感谢任何帮助,谢谢。
最佳答案
您应该使用括号表示法 []
而不是点表示法 .
,例如$scope[ arg].length
动态访问变量
$scope.myMethod = function(arg){
var length = $scope[arg].length;
};
并且应该使用 parameter
作为字符串,因此使用 ng-click="myMethod('parameter')"
而不是 ng-click="myMethod(parameter )”
关于javascript - 将传递的函数参数附加到 Controller 内的 $scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36727035/