簡體   English   中英

為什么引用在角度指令中作為屬性傳入的對象屬性會導致錯誤?

[英]Why does referencing object property passed in as attribute in angular directive cause error?

請參閱此plnkr http://plnkr.co/edit/pj4TwkV7icMp4IdyReZP?p=preview正在傳遞對象作為指令的屬性。

<shape type="person" shirt="blue" dta="{name:'SomeName', age:'21', Hobbies:['reading', 'coding', 'camping'] }"></shape>

然后像<h1>Age:{{dta.age}}</h1>這樣在模板中引用屬性

盡管它正確顯示了屬性值,但也會導致此錯誤$ rootScope:infdig]達到10個$ digest()迭代。 流產! (請參閱plnkr中的控制台)。 我知道錯誤是由於模型“不穩定”而引起的-但是在這種情況下是什么導致不穩定? 值/屬性不變。 在不引起錯誤的情況下獲得相同結果的正確方法是什么?

我認為這個錯誤只是告訴您您在HTML值中創建的時間過長: {name:'SomeName', age:'21', Hobbies:['reading', 'coding', 'camping'] }

將模型放置為HTML屬性不是一種好習慣(MVC模式)。

<shape type="person" shirt="blue" dta="{name:'SomeName', age:'21', Hobbies:['reading', 'coding', 'hiking'] }"></shape>

我建議在控制器中創建dta對象:

 $scope.dta = {
    name:'SomeName',
    age:'21',
    Hobbies:['reading', 'coding', 'hiking'] 
    };

並更改shape元素,例如:

<shape type="person" shirt="blue" dta="dta"></shape>

見演示小提琴

暫無
暫無

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

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