我是AngularJS新手。AngularJS:呈現部分動態屬性
我正在尋找加載partials時傳遞數據。
我想要一個允許動態屬性的指令。例如,在對象「公司」是在範圍限定的視圖我可以有:
<partial url:"employees/index.html" query_string: "Fun House Inc" employees="company.employees">
並且在對象「僱員」的定義的圖:
<partial url:"employees/show.html" employee="employee">
下面是我寫的一個指令(在coffeescript中)幾乎可以工作。在上面的例子中,query_string屬性被傳遞(感謝鏈接函數中的作用域[k] = v),但employees屬性不會傳遞字符串而不是被評估的對象。
App.directive "partial", ->
restrict: "E"
scope:
attribute: "@"
expression: "&"
model: "="
array: "="
data: "="
templateUrl: (el,attrs)->
"/assets/partials/" + attrs.url
link: (scope,el,attrs)->
for k, v of attrs
scope[k] = v if (k[0] != "$" && !scope[k]?)
在這個指令我已經定義的數組,模型和數據,以便我可以做這樣的事情
<partial url:"employees/index.html" query_name: "Fun House Inc" array="company.employees">
在我的觀點
和
<partial url:"employees/show.html" model="employee">
在我的問題破解。這就是說我對這個解決方案並不滿意,我很驚訝沒有現成的解決方案。我是否全部錯了?有沒有更好的方法來做到這一點,或者一種方法來解決我的指令,使其按照我想要的方式工作?
感謝您的鏈接。我不確定他們是我在找什麼。我想像一個單一的視圖,其中有幾個部分加載到它。我來自一個rails背景,並且想要像我使用rails一樣構造我的代碼(**也許這是錯誤的方法?**)。爲了讓你知道我要去哪裏...我有一個複雜的模式ModelA has_many ModelB's has_many ModelC's has_one ModelD等等。我想創建一個表單,這將允許我在單個頁面上創建/編輯整個樹(ModelA及其所有的子/孫)。 – brook
Gotcha。它似乎在網站上有類似的問題,例如http://stackoverflow.com/questions/13422966/how-to-specify-model-to-a-nginclude-directive-in-angularjs。 – user3043124
這是非常接近 - 有很多類似的問題,但我還沒有找到任何處理我的要求:templateUrl的動態url(我的指令解決了這個問題),動態數據都作爲字符串傳遞(如「query_string 「上面是我的指令),以及需要處理的對象(例如」company.employees「,我只能通過明確命名參數,如**數組**和**數據** )。再次感謝您的幫助。我沒有通過你發送的教程,雖然它不是我在這裏需要的,但它對我來說會很有用 – brook