删除 angular2 中的数据绑定

Remove data binding in angular2

本文关键字:数据绑定 angular2 删除      更新时间:2023-09-26
Angular 2 数据绑定

很棒,但我似乎找不到删除特定变量上数据绑定的 Angular 2 方法。我这样做的原因是我开始将我的应用程序挂接到索引数据库并且它可以工作,但我不能允许临时缓存(只是所有索引数据库值的数组)受数据绑定(如果是,那么临时缓存将不再镜像数据库)我的数据库在 angular2 服务上。现在我找到了一种删除数据绑定的方法,但它并不完全漂亮,我的代码是这样的

app.copy=function(item){
    return JSON.parse(JSON.stringify(item,app.replacer),app.reviver);
}
app.reviver=function(key,value){
    if(value.fn){
        value=new Function(value.parameters,value.body);
    }else if(key==="time"){
        value= new Date(value);
    }
    return value;
};
app.replacer=function(key,value){
    if(typeof value ==="function"){
        value=value.toString(); 
        value={
            fn:true,
            parameters:value.match(/'((['s'S]*?)')/)[1].replace(/['s'r'/'*]/g,""),
            body:value.match(/'{(['s'S]*)'}/)[1].replace(/['t'r'n]/g,"")
        };
    }
    return value;
};

就像我说的它有效,但它并不漂亮。 我可以在变量离开缓存之前在变量上运行 app.copy,这样它们就不会获得绑定到任何东西的数据。我想知道是否有一种更干净的方法来告诉角度 2 这个变量不应该是数据绑定的。如果没有,那么至少我能够在这里为其他人提供我的解决方案。

如果命令

性地建立"绑定",则可以命令性地停止绑定。Angular2 中目前不支持强制取消声明性绑定。

  • 仅将视图绑定到组件的字段。

  • 在服务中使用在值更改时触发事件的可观察量。

  • 在组件中订阅可观察量,并在服务中的值更改时更新组件中的字段。

  • 当组件中的值发生更改时,更新服务中的值。