簡體   English   中英

在 angularjs 指令中傳遞路徑

[英]passing paths in an angularjs directive

我有一個指令,我想傳遞一條路徑

<mydirective api="/my/tomcat/server?asd=123&efg=456">

但是我得到“詞法分析器錯誤:意外的下一個字符”。 我假設需要進行一些編碼。 有人可以建議嗎?

我不確定為什么您在沒有看到您的代碼的情況下會收到詞法分析器錯誤,如果您可以更新帖子,我們可能會知道為什么會發生這種情況。 同時,有幾種方法可以在指令中檢索屬性值。 並非所有人都可以使用字符串文字。

1) @分離范圍綁定:此解析值,並將作為工作與你的HTML。 解析實際上發生在稍后,因此該值不會立即在指令的內部方法(即link等)中可用,最好在指令的template方法中使用。 前任。:

scope: {
    api: '@'
}

2) =隔離范圍綁定:如果將表達式用單引號括起來,這將起作用,因為它將屬性評估為表達式。 前任。:

scope: {
    api: '='
}

在你的 HTML 中(注意單引號):

<mydirective api="'/my/tomcat/server?asd=123&efg=456'">

3)屬性評估:這允許您直接從指令的內部方法評估屬性字符串值,並將與您的 HTML 一樣工作。 前任:

link: function(scope,element,attrs){
    console.log(attrs.api);
}

您可以在此處AngularJS 指令文檔中閱讀有關指令的更多信息。

Angular 嘗試評估 api 屬性中的表達式,您必須用引號將其括起來:

<mydirective api="'/my/tomcat/server?asd=123&efg=456'">

暫無
暫無

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

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