Angularjs 使用“角度”获取元素宽度
我正在尝试在我的ionic应用程序中获取元素的宽度。但是我得到了一个Angularjs 使用“角度”获取元素宽度,angularjs,ionic,Angularjs,Ionic,我正在尝试在我的ionic应用程序中获取元素的宽度。但是我得到了一个未定义的,这个代码: html: controllers.js: <ion-slide ng-repeat="s in [0,1,2,3,4,5,6]"> <ul> <li ng-repeat="item in prodata | matchingProBrand:computed.proName:computed.proBra
未定义的,这个代码:
html:
controllers.js:
<ion-slide ng-repeat="s in [0,1,2,3,4,5,6]">
<ul>
<li ng-repeat="item in prodata | matchingProBrand:computed.proName:computed.proBrand | limitTo:s*sliderItemNumber+sliderItemNumber | limitTo:-sliderItemNumber">
<a class="suggestPro" ng-click="launchComputeService(item.id)">
<span><img ng-src={{imagesUrls[item.imageName]}} /></span>
<p class="flex-caption"> {{item.model}} - {{item.name}}</p>
</a>
</li>
</ul>
</ion-slide>
-
{{item.model}-{{item.name}
你能帮我弄清楚吗
谢谢如果您想将其用于angular,以下是代码
angular.element(document.getElementById(id)).clientWidth;
angular.element(document.querySelectorAll(".class")[0]).clientWidth;
但我会建议你为那个div输入一个id,然后使用第一个。像这样:
<li id="suggestion" ng-repeat="item in prodata | matchingProBrand:computed.proName:computed.proBrand | limitTo:s*sliderItemNumber+sliderItemNumber | limitTo:-sliderItemNumber">
<a class="suggestPro" ng-click="launchComputeService(item.id)">
<span><img ng-src={{imagesUrls[item.imageName]}} /></span>
<p class="flex-caption"> {{item.model}} - {{item.name}}</p>
</a>
{{item.model}-{{item.name}
和angular元素:angular.element(document.getElementById(#suggestion)).clintWidth代码>
让我看看你是否行得通,兄弟 如果您想将其用于angular,下面是代码
angular.element(document.getElementById(id)).clientWidth;
angular.element(document.querySelectorAll(".class")[0]).clientWidth;
但我会建议你为那个div输入一个id,然后使用第一个。像这样:
<li id="suggestion" ng-repeat="item in prodata | matchingProBrand:computed.proName:computed.proBrand | limitTo:s*sliderItemNumber+sliderItemNumber | limitTo:-sliderItemNumber">
<a class="suggestPro" ng-click="launchComputeService(item.id)">
<span><img ng-src={{imagesUrls[item.imageName]}} /></span>
<p class="flex-caption"> {{item.model}} - {{item.name}}</p>
</a>
{{item.model}-{{item.name}
和angular元素:angular.element(document.getElementById(#suggestion)).clintWidth代码>
让我看看你是否行得通,兄弟 Javascript的clientWidth
属性对具有显示类型内联
的HTML元素不起作用。默认情况下,anchor
标记是inline
您可以尝试将display:inline block
作为样式添加到元素中
<a ng-click="" style="display:inline-block" />
请注意clientWidth
不包括任何边框或滚动条,其中asoffsetWidth
包含边框或滚动条
在您的示例中,您的脚本位于试图查找的HTML之前。除非在页面加载后运行该特定块,否则这将不起作用。作为一个简单的解决方案,您可以将脚本块移动到HTML下方。Javascript的clientWidth
属性不适用于显示类型为内联的HTML元素。默认情况下,anchor
标记是inline
您可以尝试将display:inline block
作为样式添加到元素中
<a ng-click="" style="display:inline-block" />
请注意clientWidth
不包括任何边框或滚动条,其中asoffsetWidth
包含边框或滚动条
在您的示例中,您的脚本位于试图查找的HTML之前。除非在页面加载后运行该特定块,否则这将不起作用。作为一个简单的解决方案,您可以将脚本块移动到HTML下方。首先,创建一个属性指令以获取元素的宽度并分配给
标记。在custom指令中,可以轻松获得元素的宽度
HTML:
在控制器中访问元素以获取其宽度不是一种好的做法。所以,获取其宽度的最佳方法是使用自定义指令。首先,创建一个属性指令以获取元素的宽度并分配给
标记。在custom指令中,可以轻松获得元素的宽度
HTML:
在控制器中访问元素以获取其宽度不是一种好的做法。所以,获取其宽度的最佳方法是使用自定义指令。什么是suggestPro
querySelector
和querySelectorAll
采用.class
或id
或标记名
或任何css选择器。suggestPro是一个类。我应该加点吗?这个$scope.suggestProWidth=angular.element(document.queryselectoral(“.suggestPro”)[0]).clientWidth;log($scope.suggestProWidth,$scope.suggestProWidth)代码>也不起作用…可能重复@isherwood这正是我所做的,但不起作用什么是suggestPro
querySelector
和querySelectorAll
采用.class
或id
或标记名
或任何css选择器。suggestPro是一个类。我应该加点吗?这个$scope.suggestProWidth=angular.element(document.queryselectoral(“.suggestPro”)[0]).clientWidth;log($scope.suggestProWidth,$scope.suggestProWidth)代码>也不起作用…可能重复@isherwood这正是我所做的,但不起作用。谢谢,您的解决方案似乎是“良好实践”,所以我当然喜欢它。但是我如何使用宽度来计算控制器中的其他内容(滑块中显示的项目数(来自ionic的滑块框)?谢谢,您的解决方案似乎是“良好实践”,所以我当然喜欢。但是我如何使用宽度来计算控制器中的其他内容(滑块中显示的项目数)(爱奥尼亚的滑盒)?