AngularJS - 绑定输入文件范围到不同的范围
问题描述:
不知道如何正确地标题我的问题,我想我的情况下,它也可以被标题为“DOM操作不被范围检测”,但这一切都取决于我的问题的方法。AngularJS - 绑定输入文件范围到不同的范围
首先,我跟着AngularJS主网站上的一个官方示例,使用与Mongolab连接的Projects应用程序。唯一的区别是我想添加一个文件输入,它读取文件名及其lastModifiedDate属性,然后将这些值应用于我的表单。为了使文件输入工作,我遵循这个example here。
我做了它的工作,但问题是,当值被应用到我的表单范围没有拿起更改。
我在我的.apply()函数中执行DOM操作并使用$ compile,但是缺少一些东西。或者也许有一种更简单的方法,不用做DOM操作?
这里是我到目前为止,请看一看这个plunker - http://plnkr.co/edit/mkc4K4?p=preview (只需点击加号图标添加新条目,然后尝试选择一个文件)
答
您需要在CreateCtrl添加监视声明
function CreateCtrl($scope, $location, Movie) {
$scope.inputfile = {};
$scope.movie = {};
$scope.$watch('inputfile.file', function(value){
$scope.movie.filename = value ? value.name : '';
$scope.movie.dateadded = value ? value.lastModifiedDate : '';
})
$scope.save = function() {
Movie.save($scope.movie, function(movie) {
$location.path('/edit/' + movie._id.$oid);
});
};
}
演示:Sample
谢谢阿伦,这是完美的,没有必要甚至DOM操作! – braincomb 2013-03-27 20:11:11