#javascript #jquery #angularjs
#javascript #jquery #angularjs
Вопрос:
МОЙ проект, имеющий тело пользовательских служб, привязанное к событию щелчка, при нажатии на тело в службе необходимо вызвать функцию resetDropdown() в пользовательской директиве. как я могу сделать, пожалуйста, помогите мне, брат?
I tried code bellow that is first one is custom directive contain method.
.директива(‘DropDownMenu’, [‘$parse’, ‘$compile’, ‘DropdownService’, ‘$templateCache’,
функция ($parse, $compile, DropdownService, $templateCache) {
возврат {
restrict: ‘A’,
replace: false,
ngTransclude:true,
scope: {
DropDownMenu: ‘=’,
dropdownModel: ‘=’,
dropdownItemLabel: ‘@’,
dropdownOnchange: ‘amp;’,
dropdownDisabled: ‘=’,
dropdownSubmit: ‘amp;’
},
$scope.resetDropdown = function(){
alert("calling reset Dropdown by me");
}
}
});
следующая пользовательская служба, имеющая code
.factory(‘DropdownService’, [‘$document’,
function ($document, $rootScope, $scope) {
var body = $document.find(‘body’),
body.bind('click', function (event, $scope, $rootScope) {
resetDropdown();
});
when body clicked resetDropdown method need to call how can i do please help me.
Комментарии:
1. как вызвать метод в директиве из службы при нажатии samthing?
Ответ №1:
Я точно не знаю, что требуется. Но ваш метод директивы находится в $scope, и вы пытаетесь вызвать метод в $rootScope.
Комментарии:
1. обновление кода вы можете проверить один раз, когда нажимаете на тело, нужно вызвать функцию resetDropdwon(), но не вызываете, как я могу позвонить, пожалуйста, помогите мне кто-нибудь
2. здравствуйте, пожалуйста, помогите мне
3. Пожалуйста, вставьте код в хорошем формате … его трудно понять. и, пожалуйста, подробнее изложите свою проблему. нравится то, чего вы хотите достичь
4. Ваша директива имеет свою собственную изолированную область действия, поэтому любой метод, который вы напишете в directive controller, будет доступен только в его изолированной области действия.