我是Angular JS的新手,所以可能我的问题很简单,但实际上我没有找到解决方案。Angular JS - 在外部控制器中调用指令功能
我想知道是否有可能从外部控制器访问函数(在指令中的链接函数内)。我正在使用指令来控制指令所需的一些变量,并且我需要访问控制器中的一个变量。我试图在指令中创建一个函数为:
scope.testArray = [{id=1, text="test1"},{id=2, text="test2"}];
scope.getTestArray = function() {
return scope.testArray()
};
而且从我的控制器我想这样称呼它:
var testArray = scope.getTestArray()
但它说,getTestArray不存在的元素(范围)。我认为这是因为对指令中的范围变量的更改从控制器不可见。那么,有没有办法实现我想要做的事情?
感谢您的帮助,您可以给我
为什么使用函数?你可以简单地做'var testArray = $ scope.testArray;' – AlwaysALearner
我同意Codezille。利用双向绑定。在指令中使用'='符号。通过这种方式,您可以修改阵列内部和外部的指令,并且双方共享同一个对象。 – Martijn
指令旨在实现DOM特定的功能。例如ng-repeat用动态数据重复一段特定的html。你确定你不应该使用服务吗?我需要更多的上下文让你的示例代码给出具体的答案 – Anton