Ionic framework 如何使用$ionicPosition.position
根据本测试内容:Ionic framework 如何使用$ionicPosition.position,ionic-framework,Ionic Framework,根据本测试内容: <ion-content class="has-header" delegate-handle="menu"> <div id="activeitem">Test</div> <button ng-click="vm.scrollToActiveElement()">Test Scroll</button> </ion-content> 但是调用$ionicPosition.position会
<ion-content class="has-header" delegate-handle="menu">
<div id="activeitem">Test</div>
<button ng-click="vm.scrollToActiveElement()">Test Scroll</button>
</ion-content>
但是调用$ionicPosition.position
会导致以下错误:
无法读取未定义的属性“getBoundingClientRect”
你几乎做到了。事实上,这种方法在爱奥尼亚的文档中记录得很差 在深入研究源代码后我发现,由于这些方法是jQuery等价的,总是返回元素数组,因此传递给这些函数的参数应该是一个数组,第0个索引指向实际DOM,如下所示
vm.scrollToActivieElement=函数(){
var elem=document.getElementById('activeitem');
如果(!elem)
返回;
var position=$ionicPosition.position([elem]);//不仅仅是elem
};
/*它返回参数[0]的偏移量
其中param是传递给此函数的参数
*/
/*也就是说,当这些方法受到启发时,我们需要将dom元素包装到数组中
从jQuery和jQuery将匹配的元素包装到数组中
如果您使用的是AngularJS的jqLite,请验证
DOM是否位于数组第0位
*/
你就快到了。事实上,这种方法在爱奥尼亚的文档中记录得非常糟糕
在深入研究源代码后我发现,由于这些方法是jQuery等价的,总是返回元素数组,因此传递给这些函数的参数应该是一个数组,第0个索引指向实际DOM,如下所示
vm.scrollToActivieElement=函数(){
var elem=document.getElementById('activeitem');
如果(!elem)
返回;
var position=$ionicPosition.position([elem]);//不仅仅是elem
};
/*它返回参数[0]的偏移量
其中param是传递给此函数的参数
*/
/*也就是说,当这些方法受到启发时,我们需要将dom元素包装到数组中
从jQuery和jQuery将匹配的元素包装到数组中
如果您使用的是AngularJS的jqLite,请验证
DOM是否位于数组第0位
*/
你发现了吗?你发现了吗?
vm.scrollToActiveElement = function () {
var elem = document.getElementById('activeitem');
if (!elem)
return;
var position = $ionicPosition.position(elem);
};