【发布时间】:2015-11-26 03:58:15
【问题描述】:
我正在尝试在视频上传框中观看一些值,我的正常输入正常工作,但是当涉及到我的自定义选择框时,事情变得有点棘手,因为它们没有 ng-model为他们设置。
编辑:这可能是一些孤立的范围问题还是类似的问题?虽然看起来很奇怪,因为我可以看到我正在从控制器获取所有信息,但手表不想观看这些值。
在我的coForms 控制器中,我这样做是为了为选择设置一个“值”:
coForms.selectOption = function(option) {
coForms.currentOption = option;
};
在我的指令中,我这样做是为了观察值:
video.directive('videoUpload', [function() {
return {
scope: {
video: '='
},
controller: 'CoFormsCtrl',
controllerAs: 'co',
templateUrl: 'app/views/components/video/video-upload.html',
link: function(scope, element, attrs) {
scope.$watch('video.title', function(newVal, oldVal) {
scope.video.formData.title = newVal;
});
scope.$watch('video.description', function(newVal, oldVal) {
scope.video.formData.description = newVal;
});
scope.$watchCollection('video.tags.filteredTags', function(newVal, oldVal) {
scope.video.formData.tags = newVal;
});
// How do I make this one work?
scope.$watch('scope.co.currentOption', function(newVal, oldVal) {
});
}
};
}]);
如何查看自定义选择框的值?该值位于scope.co.currentOption 中,但是一旦我使用controller 和controllerAs 声明它,我不明白如何在我的指令中查看该值。有什么想法吗?
【问题讨论】:
-
试试
scope.$watch('co.currentOption',... -
我做了,但它不起作用,我只能通过范围访问“co”,但它仍然不想看值
标签: angularjs angularjs-directive watch