簡體   English   中英

下划線js模板不起作用

[英]underscore js template does not work

這應該是簡單還是簡單,但是我不知道為什么它不起作用。 我在這里浪費了大約一整天。

https://jsfiddle.net/panyongfeng/m73vnz9j/

<script>
        var tpl = "hello: <%= name %>";
        var compiled = _.template(tpl);
        compiled({
            name: "dadf"
        });
        alert(compiled());
</script>

我剛得到“你好結果”,應該是你好爸爸。 你能指出出什么問題嗎? 謝謝

您誤解了文檔中的示例。 當他們這樣說:

var compiled = _.template("hello: <%= name %>");
compiled({name: 'moe'});
=> "hello: moe"

上下文是他們在REPL內部工作,就像他們從命令行運行node 這意味着=>之后的內容是最后一個表達式的結果,並且hello: moe字符串是已compiled({name: 'moe'})返回的內容。 運行template函數將填充的模板作為字符串返回,它不會將結果存儲在任何地方。

您希望為此放棄上一個alert呼叫:

alert(compiled({ name: "dadf" }));

您的代碼正確,但是如果要使用結果,則需要存儲編譯方法的結果。 所以你的代碼應該是-

var dump = compiled({ name: "dadf" });
alert(dump);

暫無
暫無

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

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