微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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);
    };
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐