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