gpt4 book ai didi

javascript - Angular .js : How to change div width based on user input

转载 作者:太空狗 更新时间:2023-10-29 16:48:56 25 4
gpt4 key购买 nike

我有一个接受 div 宽度值的输入框。使用 angular.js,如何根据用户输入更改 div 的宽度?引用这个 fiddle 后,我已经实现了以下代码。 http://jsfiddle.net/311chaos/vUUf4/4/

标记:

 <input type="text" id="gcols" placeholder="Number of Columns" ng-model="cols" ng-change="flush()"/>

<div getWidth rowHeight=cols ng-repeat="div in divs">{{$index+1}} aaaaaa</div>

controller.js

var grid = angular.module('gridApp', []);

grid.controller('control', ['$scope', function ($scope) {

/* code for repeating divs based on input*/
$scope.divs = new Array();
$scope.create=function(){ //function invoked on button's ng-click
var a = $scope.cols;
for(i=0;i<a;i++)
{
$scope.divs.push(a);
}
alert($scope.divs);
};


}]);

grid.directive('getWidth', function () {
return {
restrict: "A",
scope: {
"rowHeight": '='
},
link: function (scope, element) {

scope.$watch("rowHeight", function (value) {
console.log(scope.rowHeight);
$(element).css('width', scope.rowHeight + "px");
}, false);
}
}
});

function appCtrl($scope) {
$scope.cols = 150; //just using same input value to check if working


}

更新我的最终目标是设置该 div 的宽度。当我像下面这样调用内联 CSS 时,我实现了我想要的。

<div get-width row-height="{{cols}}" ng-repeat="div in divs" style="width:{{cols}}px">{{$index+1}} aaaaaa</div>

但是如果 div 的数量变多,这并不总是有效的。所以,问题又来了,如何通过 Angular 脚本来做到这一点?

最佳答案

使用 ng-style="{width: cols + 'px'}",而不是样式。

文档链接:http://docs.angularjs.org/api/ng.directive:ngStyle

关于javascript - Angular .js : How to change div width based on user input,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20902822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com