angularjs:指令的访问控制器
angularjs: access controller of directive
我正在单元测试我的一个指令。它的基本结构类似于
angular.module('MyApp')
.directive('barFoo', function () {
return {
restrict: 'E',
scope: {},
controller: function ($scope, $element) {
this.checkSomething = function() { .... }
},
link: function(scope, element) { .... }
}
});
在我的单元测试中,我想测试"checkSomething"功能,所以我尝试了
var element = $compile('<barFoo></barFoo>')(scope);
var controller = element.controller()
...
然而,控制器是未定义的。是否可以访问指令的控制器?
胶水是您的范围,因此您可以进行
controller: function ($scope, $element) {
this.checkSomething = function() { .... }
$scope.controller = this;
},
但我认为最好的做法是将每个功能都附加到这样的范围中
controller: function ($scope, $element) {
$scope.checkSomething = function() { .... }
},
然后是
var element = $compile('<barFoo></barFoo>')(scope);
var checksomthingResult = scope.checkSomething ()
相关文章:
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- CORS:否'访问控制允许来源'header-但是php设置头文件
- "访问控制允许起源”;通过javascript从http页面调用同一网站的httpsurl时出现问题
- CORS:访问控制允许原点不等于提供的原点
- angularjs:访问angular控制器中的jquery变量
- 飞行前响应中的访问控制允许标头不允许Angularjs请求标头字段访问控制允许标题
- django没有访问控制允许删除原始标头
- HTML5 Canvas访问控制允许原始错误
- Android、iOS和Windowsphone的PHP访问控制
- 访问控制台中的匿名函数
- 访问控制允许标头不允许X-Requested-Wise
- 我如何设置HTTP头“;访问控制允许起源”;用于来自thttpd web服务器的HTTP响应
- Ajax—“;访问控制允许起源”;错误
- XMLHttpRequest无法加载url Origin访问控制允许Origin不允许null
- 访问控制允许来源,即使在同一域上
- jQuery 表单插件:XMLHttpRequest 无法加载 http://www...没有“访问控制允许来源”
- Javascript 受客户端和访问控制允许源的限制
- 访问控制允许方法不允许删除
- 即使在服务器将访问控制允许原点设置为“*”之后,也会收到javascript错误
- AngularJS 没有“访问控制允许来源”标头