【发布时间】:2013-01-22 17:46:46
【问题描述】:
如何正确地将控制器分配给指令,以便 2 个指令可以相互通信。当我将第二个指令的 require 参数设置为第一个指令的名称时,我在控制台中收到错误:
错误:没有控制器:目录 在错误() 在 getControllers (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:4132:19) 在 nodeLinkFn (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:4259:35) 在compositeLinkFn (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:3869:15) 在compositeLinkFn (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:3872:13) 在 nodeLinkFn (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:4252:24) 在compositeLinkFn (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:3869:15) 在compositeLinkFn (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:3872:13) 在 publicLinkFn (http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:3775:30) 在http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js:934:25
<div class="btn btn-danger" dir2="">angular.js:5601(匿名函数)angular.js:5601
(匿名函数)angular.js:4698
nodeLinkFnangular.js:4261
compositeLinkFnangular.js:3869
compositeLinkFnangular.js:3872
nodeLinkFnangular.js:4252
compositeLinkFnangular.js:3869
compositeLinkFnangular.js:3872
publicLinkFnangular.js:3775
(匿名函数)angular.js:934
Scope.$evalangular.js:7905
Scope.$applyangular.js:7985
(匿名函数)angular.js:932
调用angular.js:2813
bootstrapangular.js:930
angularInitangular.js:906
(匿名函数)angular.js:14600
cjquery-latest.min.js:3
p.fireWithjquery-latest.min.js:3
b.extend.readyjquery-latest.min.js:3
H
这是plnkr 中的一个示例。
编辑:
我正在尝试做很多网站中都存在的事情,通过单击按钮或从列表视图到缩略图视图的链接来更改视图模板等... 我考虑过为按钮切换器制作 2 个指令,一个称为“switcher”,另一个称为“switchable-view”用于视图。这是一个带有示例代码的 plnkr。 这个想法是,当我单击“切换器”指令时,它会在可切换指令中切换模板,这将导致切换视图,我希望这足够清楚。 我想做的是这样的plnkr
提前致谢。
【问题讨论】:
标签: angularjs angularjs-directive