Helllo,Как передать значение из контроллера директивы в угловых JS
я хочу передать одно значение из контроллера директивы в angularjs. как бы передать значение и отобразить его в директиве.
в Html Раздел
в секции контроллера мое имя контроллера docontroller.
$ scope.name = "world";
angular.element (document.querySelector ('# carControls')) присоединять ($ компилировать ( mydirectivename как тег ) ($ rootScope)).
я должен передать свою переменную, а также контроллер, в котором я могу получить прямой доступ к моим директивам это моя директива используется в контроллере и добавляется к HTML в моей директиве раздела
myApp.directive('Controls', function ($compile, $rootScope, $timeout, $window) {
var linker = function (scope, element, attrs) {
alertr('name' + scope.name);
$timeout(function() {
scope.controlClass = 'fa fa-pause';
var ControlsTemplate =
'<button class="btn btn-default btn-sm margin-r-10 text-center"><i class="fa fa-backward"></i></button>'+
'<button ng-click="doPlayOrPause()" class="btn btn-default btn-sm margin-r-10 text-center"><i id="play-pause" ng-class="controlClass"></i></button>'+
'<button class="btn btn-default btn-sm margin-r-10 text-center"><i class="fa fa-forward"></i></button>'+
'<button ng-click="doStop()" class="btn btn-default btn-sm margin-r-10 text-center"><i class="fa fa-stop"></i></button>';
element.html(ControlsTemplate);
$compile(element.contents())(scope);
});
};
return {
restrict: "E",
replace: true,
link: linker
};
});
in return i прошел контроллер: «docontroller bt i can not find my name in scope»
вы можете использовать $ часов, чтобы получить доступ к значению области видимости в директиве – Karan
, почему вы делаете это так ... Получение элемента и добавление используя компиляцию $ ... вам нужно преодолеть jQuery способы делать вещи ... – harishr