Javascript 角度动态控制器是可选的
因此,我使用以下方法为我的Javascript 角度动态控制器是可选的,javascript,angularjs,Javascript,Angularjs,因此,我使用以下方法为我的指令提供一个动态控制器 JS: HTML: 这很好,但是,我不需要在该指令的每个实例中都提供控制器。我使用它来确保作用域匹配,并且我可以访问作用域变量和方法 一些背景;显然,每次使用指令时,它都会创建一个新的范围,这很好,但我会在指令中动态添加一个ng click=“function()”。这意味着函数() 我不需要在每个实例中调用此ng click,因此我不需要在每个实例中使用控制器 本质上,是否有一种方式可以说控制器:'@'| null 编辑:作为一种解决方法,
指令
提供一个动态控制器
JS:
HTML:
这很好,但是,我不需要在该指令的每个实例中都提供控制器。我使用它来确保作用域匹配,并且我可以访问作用域变量和方法
一些背景;显然,每次使用指令
时,它都会创建一个新的范围
,这很好,但我会在指令中动态添加一个ng click=“function()”
。这意味着函数()
我不需要在每个实例中调用此ng click
,因此我不需要在每个实例中使用控制器
本质上,是否有一种方式可以说控制器:'@'| null
编辑:作为一种解决方法,我删除了隔离作用域(scope:{…}
),并从指令参数访问attrs
,这可以满足我的需要,但不能回答原来的问题。您是否尝试过controller:“?@”
?关于ng单击的部分在与controller不同的范围内没有多大意义。也许一个演示可以帮助我们更好地理解这个问题。@simeg这给出了一个错误参数“?@”不是一个函数,得到了未定义的@charlietfl我正在使用controllerAs语法为控制器命名,然后它在一个隔离的作用域中。不..隔离的作用域是由作用域:{minwidth:…}
创建的。别名和隔离作用域是不同的。再一次。。。为此创建一个简单的演示。您是否尝试过controller:'?@'
?关于ng单击的部分在与controller不同的范围内没有多大意义。也许一个演示可以帮助我们更好地理解这个问题。@simeg这给出了一个错误参数“?@”不是一个函数,得到了未定义的@charlietfl我正在使用controllerAs语法为控制器命名,然后它在一个隔离的作用域中。不..隔离的作用域是由作用域:{minwidth:…}
创建的。别名和隔离作用域是不同的。再一次。。。为此创建一个简单的演示。
return {
restrict: 'A',
link: linkFn,
scope: {
minWidth: '@',
maxWidth: '@',
itemsVisible: '@'
},
controller: '@',
name: 'controllerName'
};
<ul
min-width="breakpoints.m"
items-visible="5"
controller-name="ProductFilteringController"
overflow-list>