我来自Java,C#,C++等更严格的语言,并且已经使用此代码将文件读入textarea,但由于时间问题而无法理解其工作原理。现在我试图学习指令,以便理解这条指令,但是我很难理解这段代码的一部分。有人可以解释这段angularjs指令代码吗?
这是我希望被调用的控制器函数。 fileContent只是一串文本:
self.displayFileContent = function(contents) {
self.fileContent = contents;
};
这是读取文件指令的实现。我期待的呼叫是displayFileContentFn(fileContents)
,但为什么它调用完全不同的参数(和不同数量的参数)的功能?是{'contents:filecontents}一个javascript对象吗?
scope: false,
link: function(scope, element, attrs) {
element.bind('change', function(e) {
var displayFileContentFn = $parse(attrs.onFileChange);
var reader = new FileReader();
reader.onload = function() {
var fileContents = reader.result;
scope.$apply(function() {
displayFileContentFn(scope, {
'contents' : fileContents
});
});
};
reader.readAsText(element[0].files[0]);
});
}
您能否请您提供您的指令范围的一部分:范围:{} –
'作用域:false,' – user3758745