当我将数据写入Stream时,我期待以下代码抛出异常:
File file = new File("test.txt");
FileOutputStream fs = new FileOutputStream(file);
OutputStreamWriter ow = new OutputStreamWriter(fs);
BufferedWriter writer = new BufferedWriter(ow);
fs.close();
try {
ow.write(65);
writer.write("test");
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
我意识到我应该关闭BufferedWriter,但在我当前的环境中,可能有可能在BufferedWriter关闭之前关闭FileOutputStream.FileOutputStream不应该抛出一个IOException,它应该向上移动直到它到达我的try/catch块并打印堆栈跟踪?
如果我尝试调用fs.write(65),那么它会抛出异常.
尝试将指令添加到具有动态ID的输入时,链接方法无法正确绑定到该对象.给出以下jsfiddle或html:
<div ng-app="myApp" ng-controller="MyCtrl">
<p>Date: <input type="text" id="datepicker-{{id}}" datepicker></p>
</div>
Run Code Online (Sandbox Code Playgroud)
和js:
var module = angular.module('myApp', []);
module.directive('datepicker', function() {
var linker = function(scope, element, attrs) {
element.datepicker();
}
return {
restrict: 'A',
link: linker
}
});
function MyCtrl($scope) {
$scope.id = 7
}
Run Code Online (Sandbox Code Playgroud)
我在控制台调试器上看到的是,当调用链接时,它会将id显示为"datepicker - {{id}}"而不是"datepicker-7".
有没有办法强迫这种情况发生?实现这个的更好方法是什么?
更新:应该澄清一下.单击时会显示日期选择器,但单击日期不起作用.我收到错误:"此datepicker的未捕获的实例数据"
好的,我不知道如何在没有显示的情况下实际问这个问题.(还解释了为什么我无法弄清楚如何在Google上搜索它.)
鉴于代码如下:
dijit.byId('leftNavigationPane').onLoad = function(){setSecondaryNav(url.secondaryNavId);};
我想要对变量url.secondaryNavId进行评估,所以我真正想要的是对它进行如下处理:
dijit.byId('leftNavigationPane').onLoad = function(){ setSecondaryNav('item1'); };
我相信可能有更好的方法来做到这一点,所以请随意提出建议.