Javascript ng在指令中单击不';行不通
我想在单击复选框时执行一个函数,但什么也没发生 当我将Javascript ng在指令中单击不';行不通,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我想在单击复选框时执行一个函数,但什么也没发生 当我将sendMediaToScreen函数放在链接(scope.sendMediaToScreen())中时,该函数可以工作,因此作用域可以使用 .directive('uxEmbedVideo', ['$compile','myURL', function( $compile, myURL ) { return { restrict: "E", replace: true, scope:
sendMediaToScreen
函数放在链接(scope.sendMediaToScreen()
)中时,该函数可以工作,因此作用域可以使用
.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'
};
}])
指令
<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>
问题在于您的
指令的使用
您正在将roomManager.sendMediaToScreen({clientId:user.clientId,from:'producer'})的结果绑定到范围。将媒体发送到screen
,而不是传入回调 问题在于您的
指令的使用
您正在将roomManager.sendMediaToScreen({clientId:user.clientId,from:'producer'})的结果绑定到范围。将媒体发送到screen
,而不是传入回调 我不知道为什么,但是像这样替换模板指令,现在它可以工作了
指令中的:
移除->替换:真
在模板中
<div class="ux-video-admin-controls" ng-if="rule === 'administrator' && screenActivated" >
<input
restrict access="administrator"
class="ux-admin-videoToScreen"
type="checkbox"
ng-click="sendMediaToScreen()"
/>
</div>
谢谢我不知道为什么,但是像这样替换模板指令,现在它可以工作了
指令中的:
移除->替换:真
在模板中
<div class="ux-video-admin-controls" ng-if="rule === 'administrator' && screenActivated" >
<input
restrict access="administrator"
class="ux-admin-videoToScreen"
type="checkbox"
ng-click="sendMediaToScreen()"
/>
</div>
谢谢您能提供fiddle/plunkr吗?您的意思是,roomManager.sendMediaToScreen
未执行?指令中的绑定在哪里?您应该将元素绑定到click事件。是的,但是当我将scope.sendMediaToScreen()放在链接的指令中时,该函数立即执行。您的设置有问题,发布的代码似乎工作正常:您能提供fiddle/plunkr吗?您的意思是,roomManager.sendMediaToScreen
未执行?指令中的绑定在哪里?您应该将元素绑定到click事件。是的,但是当我将scope.sendMediaToScreen()放在链接的指令中时,该函数立即执行。您的设置有问题,发布的代码似乎工作正常:oO。。。好的,但是你能给我举个小例子吗,我不明白,谢谢你似乎不明白&
配置的目的。OP使用的方式是完全正确的。事实上,发布的代码工作正常,所以问题出在OP的某个设置项目中。看到它工作了吗:哦。。。好的,但是你能给我举个小例子吗,我不明白,谢谢你似乎不明白&
配置的目的。OP使用的方式是完全正确的。事实上,发布的代码工作正常,所以问题出在OP的某个设置项目中。看到它工作了吗