ngSearchBar.html의 버튼을 사용하려면 어떻게해야합니까? child 지시문 (ng-click)에 대해 부모 지시문 (ngSearchBar.html)과 동일한 범위를 사용하여 scope.search = function() {};을 수행 할 수 있습니다. 내 부모 지시어에. 내 지시어를 사용하고 어디중첩 된 방식으로 사전 정의 된 지시문 (ng-click)을 사용자 정의 지시문과 함께 사용하려면 어떻게해야합니까?
myAppControllers.constant('baseDomainConstant', 'http://127.0.0.1:5000/v1/');
myAppControllers.factory('technologiesFactory', ['$resource', 'baseDomainConstant', function($resource, baseDomainConstant) {
return $resource(baseDomainConstant + 'technologies.json', {}, null);
}]);
myAppControllers.directive('ngSearchBar', ['technologiesFactory', function(technologiesFactory) {
return {
restrict: 'A',
templateUrl: "partials/ngSearchBar.html",
replace: true,
scope: false,
link: function (scope, element, attributes) {
var data = '';
scope.search = function() {
console.log('TESTING');
};
element.find('#search').on('click', function() {
alert(JSON.stringify($('.select2').select2('data')));
});
technologiesFactory.get().$promise.then(function(result) {
_.forEach(result.data, function(technologyNames, category) {
data += '<optgroup label="' + category + '">';
_.forEach(technologyNames, function(technology) {
data += '<option value="' + technology.technology_id + '">' + technology.webname + '</option>';
});
data += '</optgroup>';
});
element.find('#multi-append').append(data);
$('.select2').select2('enable', true);
});
},
controller: ['$scope', function($scope) {
$('.select2').select2({ placeholder: 'Search' });
$('.select2').select2('enable', false);
$scope.search = function() {
console.log('TESTING');
};
}]
};
}]);
myAppControllers.controller('ViewCtrlv2', ['$scope', function($scope) {
$scope.search = function() { console.log('Testing'); };
}]
);
이 "파셜/ngSearchBar.html입니다
<div class="control-group">
<div class="controls">
<div class="input-append">
<select id="multi-append" class="select2" multiple="multiple" style="width:400px;"></select>
<button class="btn" type="button" ng-click="search()">
<i class="icon-search"></i>
</button>
</div>
</div>
. html로.
<div class="wrapper dashboard inc-footer">
<div ng-include="'partials/header.html'"></div>
<span data-ng-search-bar></span>
<div class="sticky-footer" ng-include="'partials/footer.html'"></div>
</div>
지시어를 사용하는 곳의 html을 보여줄 수 있습니까? –
있습니다. 하단 코드 상자에 있습니다. 머리글/바닥 글은 정적 HTML 부분입니다. 걱정할 것이 없다. – user2072912
지시어가 실행되는 것을 볼 수 있습니까? 또는 콘솔 창에 오류가 있습니까? –