Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ionic framework $ionicPosition.offset和$ionicPosition.position-maging“;TypeError:无法读取属性';getBoundingClientRect';“未定义”的定义;_Ionic Framework - Fatal编程技术网

Ionic framework $ionicPosition.offset和$ionicPosition.position-maging“;TypeError:无法读取属性';getBoundingClientRect';“未定义”的定义;

Ionic framework $ionicPosition.offset和$ionicPosition.position-maging“;TypeError:无法读取属性';getBoundingClientRect';“未定义”的定义;,ionic-framework,Ionic Framework,我试图在发布时获取拖动列表项的位置和偏移量 但是,$ionicPosition.offset和$ionicPosition.position都返回“TypeError:无法读取未定义的属性'getBoundingClientRect' 我已经包括了一个基本的代码片段。提前谢谢 var数据={ “一周”:[{ “姓名”:“星期一”, “活动”:[{ “名称”:“开始跑步”, “shortname”:“开始跑步” }, { “姓名”:“洗衣服”, “短名”:“洗衣服” }] }, { “姓名”:“

我试图在发布时获取拖动列表项的位置和偏移量

但是,$ionicPosition.offset和$ionicPosition.position都返回“TypeError:无法读取未定义的属性'getBoundingClientRect'

我已经包括了一个基本的代码片段。提前谢谢

var数据={
“一周”:[{
“姓名”:“星期一”,
“活动”:[{
“名称”:“开始跑步”,
“shortname”:“开始跑步”
}, {
“姓名”:“洗衣服”,
“短名”:“洗衣服”
}]
}, {
“姓名”:“星期二”,
“活动”:[{
“名称”:“假日购物”,
“shortname”:“假日购物”
}, {
“名称”:“清洁自行车”,
“短名”:“清洁自行车”
}]
}]
}
var app=angular.module('activityplan',['ionic']);
应用程序运行(函数($ionicPlatform){
$ionicPlatform.ready(函数(){
if(window.cordova&&window.cordova.plugins.Keyboard){
//默认情况下隐藏附件栏(删除此选项可在键盘上方显示附件栏)
//表格输入)
插件键盘hideKeyboardAccessoryBar(真);
//除非您知道自己在做什么,否则不要删除此行。它会停止视口
//当文本输入被聚焦时,从捕捉。Ionic在内部为
//更好的键盘体验。
插件。键盘。禁用滚动(真);
}
如果(窗口状态栏){
StatusBar.styleDefault();
}
});
});
app.controller('PlanController',['$scope','$ionicPosition',函数($scope,$ionicPosition){
$scope.days=data.week;
$scope.releaseTest=函数(a){
console.log($ionicPosition.offset(a));
控制台日志($ionicPosition.position(a));
}
$scope.moveActivity=函数(活动、日期、从索引到索引){
日.活动.拼接(来自索引,1);
活动拼接(toIndex,0,活动);
};
}]);

活动计划
{{day.name}
{{activity.name}

您做得都不对。的方法
偏移量(元素)
位置(元素)
要求DOM元素是参数的一部分

在您的例子中,您正在从标记传递JavaScript对象,这就是它失败的原因

位置(元素): 获取元素相对于偏移父元素的当前坐标。jQuery位置函数的只读等价物

事实上,它在爱奥尼亚的文档中记录得非常糟糕

通过源代码挖掘,我发现这些方法是jQuery等价的,jQuery总是将匹配的元素封装在数组中,因此参数应该是一个数组,第0个索引指向实际dom,如下所示

var-element=document.getElementById(id);
变量偏移量=$ionicPosition.offset([element]);
/*它返回参数[0]的偏移量
其中param是传递给此函数的参数
*/
/*注意,我们需要将dom元素包装在数组中,因为这些方法都是从jQuery中得到启发的
jQuery将匹配的元素包装在数组中
如果您使用的是AngularJS的jqLite,请验证实际DOM是否位于数组第0位

*/
您做得都不对。的方法
偏移量(元素)
位置(元素)
要求DOM元素是参数的一部分

在您的例子中,您正在从标记传递JavaScript对象,这就是它失败的原因

位置(元素): 获取元素相对于偏移父元素的当前坐标。jQuery位置函数的只读等价物

事实上,它在爱奥尼亚的文档中记录得非常糟糕

通过源代码挖掘,我发现这些方法是jQuery等价的,jQuery总是将匹配的元素封装在数组中,因此参数应该是一个数组,第0个索引指向实际dom,如下所示

var-element=document.getElementById(id);
变量偏移量=$ionicPosition.offset([element]);
/*它返回参数[0]的偏移量
其中param是传递给此函数的参数
*/
/*注意,我们需要将dom元素包装在数组中,因为这些方法都是从jQuery中得到启发的
jQuery将匹配的元素包装在数组中
如果您使用的是AngularJS的jqLite,请验证实际DOM是否位于数组第0位

*/
没有冒犯,但为什么没有任何解释就投了反对票。可能是你不明白,或者如果你有更好的解决方案,请发布……没有冒犯,但为什么没有任何解释就投了反对票。可能是你不明白,或者如果你有更好的解决方案,请发布。。。