访问与指令实例关联的控制器
Accessing the controller associated with a directive instance
我将一个控制器与一个指令相关联,如下所示:
return function MyDirective() {
return {
scope: {},
restrict: 'E',
template: template,
controller: 'myController',
replace: true,
};
};
如果我想从模板中访问控制器上的方法,我是否需要将控制器添加到作用域的属性中?
模板:
<div>
<div>
<button ng-click="doSomething()">Do something.</button>
</div>
</div>
控制器:
function MyController() {}
MyController.prototype.doSomething() {
window.alert('foo');
}
你应该避免scope: {}
从你的指令访问控制器功能,因为scope: {}
在你的指令创建隔离范围从你的控制器。
这就是为什么你不能从指令模板中访问控制器函数。
避免scope: {}
后使用像普通控制器功能一样的功能
:
<button data-ng-click="myFunction()">call my function</button>
你可以在指令的链接函数中使用scope
link: function (scope, element, attrs)
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 从控制器返回后Ajax启动事件激发
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 如何在单击复选框后调用控制器方法
- 在控制器和数据对象之间同步数据
- 将Javascript数组发送到控制器ASP.NET MVC
- 角度控制器结构
- 如何在Jquery中发布后将值从视图返回到控制器
- 将值从html传递到AngularJS控制器
- Md 对话框未加载与其关联的控制器
- AngularJS:如何在指令范围的对象发生变化时更新与控制器作用域相关联的控制器作用域
- 公共控制器和服务器控制器在 MEAN.io 中如何相互关联
- 显示与单独控制器关联的模型
- 如何从link函数访问与指令关联的控制器实例?
- 访问与指令实例关联的控制器
- 余烬对来自余烬-数据模型关联的另一个控制器的数据进行排序
- Jquery$.ajax()调用将具有其他参数的关联数组传递给MVC控制器失败
- AngularJS - 从其关联的控制器按 Id 访问视图元素
- Rails 3 coffeescript 控制器关联