指令中ngChange事件之后的控制器函数
Controller function after ngChange event in directive
我发现了一些问题和示例,但它们都使用了$scope,到目前为止,我的应用程序中还没有使用$scope。当指令中的复选框被选中(ng更改)时,我正在尝试执行控制器函数。
JSFiddle
HTML
<div ng-app="myApp" ng-controller="Controller as ctrl">
<dir-select doIt="ctrl.doIt()" object="ctrl.object">
</div>
控制器和指令
var app = angular.module('myApp', []);
app.controller("Controller",[ function() {
var ctrl = this;
ctrl.object = {
name: "test",
selected: false
};
ctrl.doIt = function() {
alert("Doing It!");
};
}]);
app.directive('dirSelect', function() {
return {
restrict: 'E',
template: '<input type="checkbox" ng-model="object.selected" ng-change="doIt()">select',
scope: {
object: '=',
doIt: '&'
}
}
});
我错过了什么?
请尝试此
<dir-select do-it="ctrl.doIt()" object="ctrl.object">
并且在指令中
template: '<input type="checkbox" ng-model="object" ng-change="doIt()">select',
Angular规范化属性名称。在HTML代码中,您应该使用破折号分隔的格式,而不是驼色大小写。只需将doIt="ctrl.doIt()"
更改为do-it="ctrl.doIt()"
即可。请参阅下面的代码。
<div ng-app="myApp" ng-controller="Controller as ctrl">
<dir-select do-it="ctrl.doIt()" object="ctrl.object">
</div>
编辑您的HTML:
<div ng-app="myApp" ng-controller="Controller as ctrl">
<input type="checkbox" ng-change="ctrl.doIt()" ng-model="ctrl.object">
</div>
检查:http://jsfiddle.net/9nmyom0h/
相关文章:
- AngularJS执行指令模板中的控制器函数
- Angularjs:路由后如何调用控制器函数
- 为什么控制器函数没有执行 Angular Js 1.5.5
- 在 html5 视频结束时调用 AngularJS 控制器函数
- Angularjs指令调用控制器函数
- 从浏览器调用角度控制器函数
- 如何在angular js中从指令调用控制器函数
- AngularJS-如何在ng中继器中调用以项值为参数的控制器函数
- Angularjs将函数从控制器传递到指令(或从指令调用控制器函数)-带参数
- 如何使用ajax从javascript调用控制器函数
- 触发视图'的控制器函数
- 从AngularJS中的视图调用控制器函数
- 当使用Angular1+ES6时,控制器函数中未定义依赖注入,控制器是一个类
- 从指令角度调用控制器函数
- 从指令调用控制器函数(使用从指令传递的参数)
- 从 Karma 和 Jasmine 测试调用控制器函数
- 从指令调用角度控制器函数
- 有什么方法可以放置一个触发器来在 CodeIgniter 的控制器函数中切换引导模式
- 如何修复角度 js ng 控制器函数调用
- 我可以将变量控制器函数传递给指令中的函数链接吗?