博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Backbone.js 使用模板
阅读量:6414 次
发布时间:2019-06-23

本文共 1376 字,大约阅读时间需要 4 分钟。

hot3.png

前面一篇  只是让 Backbone 跑起来,实际的应用中会使用到模板,Model 等,而模板又是进阶的基础。所以这里介绍在 View 中使用模板,以及如何向模板填充值,模板可以用字符串,或是用 <script type="text/template"> 声明的内容。使用 <%= %> 或 <%- %> 来声明变量输出的占位符。

Backbone 的模板要用到的是  库, 要深入了解 Unserscore 就看官方的 ,Underscore 的 template 方法的原型如下:

_.template(templateString, [data], [settings])

下面是些完整的例子

一: 使用字符串模板

              
         
         
                   
Loading...         

为突出效果,把 new AppView() 放到了 setTimeout() 延迟执行,项目中没必要这么做。

点击  看上面代码执行的效果,可以看到 Loading ... 在 1 秒后被替换成了 Hello World!

另外,如果前面声明 View 时没有对 el 赋值,可以在实例化 AppView 时指定 el 属性,像下面那样使用

new AppView({el: $("#container")})

二. 加载模板

可以加载页面中用 <script type="text/template"> 包含的内容作为模板,它本身不会在页面中显示 出来的。下面是用 jQuery 的选择器来定位这个模板声明,html() 取出其中的内容。完整代码如下:

              
         
         
                   
Loading...          
            

Hello <%= who %>

                 

点击  看执行效果,页面在一秒钟后显示 Hello Backbone!

注意,你不能直接加载页面中声明的其他元素,例如定义的

    

Hello <%= who %>

如果直接用 _template($("#who_template").html() 的话,执行后显示的就是 Hello <%= who %>。也就是说其中的变量值不会被解析,如果你的模板中无需填充值是可以这么做,但还需用 display:none 来隐藏掉它。

点击  看看加载普通页面元素执行的效果。

我们还能直接在自定义 View 中使用 events 属性来定义事件,接下来我们去体验。

参考: 

转载于:https://my.oschina.net/heroShane/blog/197289

你可能感兴趣的文章
KMP串匹配算法解析与优化
查看>>
css3动画简介以及动画库animate.css的使用
查看>>
javascript DOM节点操作
查看>>
c++ invoke java in android
查看>>
meta 之 viewport
查看>>
Linux下文件 ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 和 /etc/profile 的区别 | 用户登录后加载配置文件的顺序...
查看>>
关于在swiper轮播组件中使用echarts的'click'事件无效
查看>>
Android开源项目README规范
查看>>
asp.net core 教程(五)-配置
查看>>
Spring Bean Scope (作用域)
查看>>
Redis命令操作详解
查看>>
java.lang.ClassNotFoundException: org.apache.axis2.transport.http.AxisAdminServlet
查看>>
SSL协议详解
查看>>
Android Studio自带的抓图和录像功能
查看>>
教妹学 Java:动态伴侣 Groovy
查看>>
第三周作业
查看>>
对象.原型链,函数.原型对象
查看>>
动态 K th
查看>>
MVC 中引入Jquery文件的几种方法
查看>>
servlet容器开发要点
查看>>