Ich möchte eine Funktion ausführen, wenn Sie auf ein Kontrollkästchen klicken, aber nichts passiert.ng-Klick in der Direktive funktioniert nicht
Wenn ich die sendMediaToScreen
Funktion in der Verbindung (scope.sendMediaToScreen()
) setzen, funktioniert die Funktion, so ist es OK mit dem scope
.
.directive('uxEmbedVideo', ['$compile','myURL', function($compile, myURL) {
return {
restrict: "E",
replace: true,
scope: {
'clientId': '@',
'sendMediaToScreen': '&',
'rule': '=',
'screenActivated' : '='
},
link: function(scope, element, attrs){
},
templateUrl: myURL.getAppViewsPath() + '/partials/embed-video.html'
};
}])
Richtlinie
<ux-embed-video
rule="user.rules"
screen-activated="room.parameters.screenActivated"
send-media-to-screen="roomManager.sendMediaToScreen({ clientId : user.clientId, from: 'producer' })">
</ux-embed-video>
/partials/embed-video.html
<div class="ux-video-admin-controls" ng-if="rule === 'administrator'" >
<input ng-if="screenActivated"
restrict access="administrator"
class="ux-admin-videoToScreen"
type="checkbox"
ng-click="sendMediaToScreen()"
/>
</div>
könnten Sie fiddle/plunkr bieten? –
Sie sagen also, 'roomManager.sendMediaToScreen' wird nicht ausgeführt? – dfsq
Wo ist Ihre Bindung innerhalb der Richtlinie? Sie sollten das Element an das click-Ereignis binden. – ShacharW