簡體   English   中英

刪除angular2中的數據綁定

[英]Remove data binding in angular2

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,這樣它們就不會將數據綁定到任何東西。 我想知道是否有更簡潔的方法來告訴 angular 2 這個變量不應該是數據綁定的。 如果沒有,那么至少我能夠為其他人提供我的解決方案。

如果您強制建立“綁定”,則可以強制停止綁定。 目前 Angular2 不支持強制取消聲明性綁定。

  • 僅將視圖綁定到組件的字段。

  • 在服務中使用可在值更改時觸發事件的 observable。

  • 在組件中訂閱 observable 並在服務中的值更改時更新組件中的字段。

  • 當組件中的值更改時更新服務中的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM