javascript – AngularJS在具有隔离范围的指令中使用ng-change – 转向基于组件的体系结构

我目前正在努力在我的指令中使用隔离范围进行更改.我试图从ng-controller转移到更加基于组件的架构,但它证明比预期更具挑战性.

这是一个小提琴,我似乎无法工作.
fiddle

我很确定这个问题就在这里

app.directive("search",function(service) {
    return {
        restrict: 'E',replace: true,scope: {},controller: ['$scope',function($scope) {
            $scope.search = function(keyword) {
                service.searchData(keyword);
            };
        }],template: '<div style="padding-bottom: 15px;">' +
                            '<center>' +
                '<input type="text" ng-model="keyword" ng-change="search(keyword)"/>' +
               '</center>' +
                            '</div>'
    };
});

但是小提琴将更全面地了解我想要完成的任务.

解决方法

Chnage控制器如下图所示

controller:searchCtrl

在指令之外写下面的代码

searchCtrl.$inject = ['$scope','service'];
 function searchCtrl($scope,service) {
    $scope.search = function(keyword) {
       alert("called - " + keyword);
       service.searchData(keyword);
    };
}

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...