我目前正在努力在我的指令中使用隔离范围进行更改.我试图从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);
};
}