Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.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
Javascript 聚合物1.0观察阵列_Javascript_Html_Polymer 1.0 - Fatal编程技术网

Javascript 聚合物1.0观察阵列

Javascript 聚合物1.0观察阵列,javascript,html,polymer-1.0,Javascript,Html,Polymer 1.0,我刚刚尝试将我的Polymer网站更新到1.0版,但我的array observer功能不再起作用。所以我看了一下文档,发现有一种新的方法可以观察push&pop的变化 为了测试这些更改,我从中复制了代码,但即使是该示例也不起作用。。。下面是我尝试测试示例脚本的步骤: <!doctype html> <html> <head> <title>Test</title> <meta name="viewport" cont

我刚刚尝试将我的Polymer网站更新到1.0版,但我的array observer功能不再起作用。所以我看了一下文档,发现有一种新的方法可以观察push&pop的变化

为了测试这些更改,我从中复制了代码,但即使是该示例也不起作用。。。下面是我尝试测试示例脚本的步骤:

<!doctype html>
<html>
<head>
  <title>Test</title>
    <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes"> 
    <script src="/bower_components/webcomponentsjs/webcomponents-lite.min.js"></script>
    <link rel="import" href="/bower_components/polymer/polymer.html">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
    <my-index></my-index>
</body>
</html>
<dom-module id="my-index">
<script>
    Polymer({
        is: "my-index",
        properties: {
            users: {
                type: Array,
                value: function() {
                    return [];
                }
            }
        },

        observers: [
            'usersAddedOrRemoved(users.splices)'
        ],
        ready: function(){
            this.addUser();
        },
        usersAddedOrRemoved: function(changeRecord) {
            console.log(changeRecord);
            changeRecord.indexSplices.forEach(function(s) {
                s.removed.forEach(function(user) {
                    console.log(user.name + ' was removed');
                });
                console.log(s.addedCount + ' users were added');
            }, this);
        },

        addUser: function() {
            this.push('users', {name: "Jack Aubrey"});
        }
  });
</script>
</dom-module>

试验
聚合物({
是:“我的索引”,
特性:{
用户:{
类型:数组,
值:函数(){
返回[];
}
}
},
观察员:[
'usersAddedOrRemoved(users.spaits)'
],
就绪:函数(){
this.addUser();
},
usersAddedOrRemoved:函数(changeRecord){
控制台日志(changeRecord);
changeRecord.indexSplices.forEach(函数){
s、 已删除。forEach(函数(用户){
log(user.name+“已删除”);
});
log(s.addedCount+“已添加用户”);
},这个);
},
addUser:function(){
this.push('users',{name:“jackaubrey”});
}
});

javascript控制台只是说
uncaughttypeerror:cannotreadproperty'indexplices'of undefined
。有什么问题吗?

当用户数组创建时(带有未定义的更改记录),usersAddedOrRemoved函数在启动时启动。如果处理未定义的,您将看到它按预期工作,并在开始时和添加的用户上激发

usersAddedOrRemoved: function(changeRecord) {
        console.log(changeRecord);
        if (changeRecord) {
            changeRecord.indexSplices.forEach(function(s) {
                s.removed.forEach(function(user) {
                    console.log(user.name + ' was removed');
                });
                console.log(s.addedCount + ' users were added');
            }, this);
        }
    },