1
我正在处理AngularJS项目中的指令。在这个指令中,I HAVE以编程方式在运行时设置HTML元素的宽度。但是,我没有取得任何成功。目前,我的指令看起来像这样:以编程方式在运行时设置HTML元素的宽度AngularJS
myApp.directive('myDirective', function() {
return {
restrict:'E',
transclude: true,
templateUrl: 'my-directive.html',
link: function(scope, element, attrs) {
var inputField = element.find('input');
scope.width = inputField[0].offsetWidth;
scope.err1 = 'none';
try {
var testDiv = element.find('#test-name');
element(testDiv).css('width', (scope.width + 'px'));
} catch (e1) {
scope.err1 = e1.message;
}
scope.err2 = 'none';
try {
var testDiv = element.find('.test-class');
element(testDiv).css('width', '500px');
} catch (e2) {
scope.err2 = e2.message;
}
},
controller: function ($scope) {
}
};
});
由于the plunkr shows,我得到一个运行时错误,当我试图以编程方式设置我的div的宽度。我不明白我做错了什么。有人能告诉我我做错了什么吗?我需要弄清楚如何在链接或控制器函数中设置运行时的宽度。再一次,我必须以编程的方式做到这一点。我不能添加一个宽度范围并将UI绑定到它。
'testDiv.css( '宽度',(scope.width + '像素'));'和'testDiv.css( '宽度', '500像素' ); \t \t \t' – PSL 2014-10-09 15:45:08