我在使用我的一个Form指令时遇到了一些问题:/我想要一个可以与我在页面中的其他指令进行通信的指令,并且该指令将与控制器通信。 该指令用于公开一些与Form一起使用的功能。
function Form() {
return {
restrict: 'A',
scope: false,
require: 'form',
transclude: false,
controller: ['$scope','$element','$attrs','$timeout', function($scope, $element, $attrs, $timeout) {
let ctrl = this;
$scope.obj = {}
$scope.obj.fun1 = fun1;
$scope.obj.fun2 = fun2;
$scope.obj.fun3 = fun3;
$scope.obj.fun4 =fun4;
function fun1 (par1, par2){
// code
}
function fun2(){
// code
}
function fun3 (par1, par2, par3, par4){
// code
}
function fun4(){
// code
}
}]
}
}
但是,当我尝试调用我在$ scope上公开的其中一种方法时,我得到undefined
。例如,如果我用没有设置秒数的$ timeout包围方法,它就可以正常工作。有没有办法让这项工作没有超时?
非常感谢。
答案 0 :(得分:0)
将这些功能放入服务中,并将其注入您需要的任何地方