如何在AngularJS中触发一些javascript函数?
我刚刚开始我的第一个angular.js项目,有一种情况,用户单击一个按钮,在我的模型上设置一个值,但我现在还需要的是html视频元素将其currentTime属性设置为一个值,并且当前播放的视频暂停 所以我需要的是 1) 更新我的模型(我已通过ng click完成) 2) 运行一些javascript,它可以如何在AngularJS中触发一些javascript函数?,javascript,angularjs,Javascript,Angularjs,我刚刚开始我的第一个angular.js项目,有一种情况,用户单击一个按钮,在我的模型上设置一个值,但我现在还需要的是html视频元素将其currentTime属性设置为一个值,并且当前播放的视频暂停 所以我需要的是 1) 更新我的模型(我已通过ng click完成) 2) 运行一些javascript,它可以 { $('videoElement')[0].currentTime = time (from my model); $('videoElement')[0].paus
{
$('videoElement')[0].currentTime = time (from my model);
$('videoElement')[0].pause();
}
我不确定第二步应该从何处触发以及如何触发?您应该使用指令来执行DOM操作。希望您的videoElement与按钮在同一范围内。如果是这样,请定义一个指令$watch()对您的模型执行以下操作:
angular.module('myModule', [])
.directive('pauseVideo', function() {
return {
scope: { someProperty: '@pauseVideo' },
link: function(scope, element, attrs) {
scope.$watch('someProperty', function(value) {
var videoElement = $('videoElement')[0];
videoElement.currentTime = time(value);
videoElement.pause();
})
}
}
})
将scope属性添加到使用videoElement的HTML元素中。例如,如果使用ng click操作的属性为$scope.someProperty:
<div id="videoElement" pause-video="someProperty">
非常感谢你,马克。我的第一次尝试是angular,所以很难确定从哪里开始。
<a ng-click="pauseVideo()">pause video</a>
$scope.pauseVideo = function() {
$scope.someProperty = ...;
var videoElement = $('videoElement')[0];
videoElement.currentTime = time (from my model);
videoElement.pause();
}