Why Vue.js doesn't support templateURL

Vue.js为什么不支持templateUrl模式

### 原因
1. templateUrl使用ajax的方式在运行时加载template,大型应用中数量庞大的组件,以及浏览器对请求数量的限制,将导致严重的app加载性能问题。
1. 以组件为APP的基础单元来开发,而不是template


### 推荐单文件的组件开发
vue中综合了react(单文件html字符串拼到死),和angularjs(大量ajax获取template),提出`my_component.vue`的单文件组件开发,将template,style和js集中在一个文件中,利用webpack来构建。目前sublime text已有vue文件的语法高亮插件,同时vue-cli也很给力,分分钟搭建好基础结构。这都不是什么事儿了。


### 打死不用构建工具/webpack
我们也还是有选择的,虽然官方不推荐,但是也总不能把你打死啊
1. 默默拼串
```js
Vue.component('todo-item',{
props: ['title'],
template: '\

  • \
    {{ title }}\
    X\
  • \
    ',
    });
    ```

    1. 使用<script type="x/template">
    <script type="text/template" id="tpl">
    <div>
    <p>hello vue</p>
    </div>
    </script>
    var MyComponent = Vue.extend({
    template: '#tpl'
    });

    ### 最佳实践
    使用`.vue`单文件开发组件,使用webpack构建

    Vue为什么没有templateUrl的更多相关文章

    1. [译]为什么Vue不支持templateURL

      原文链接 Vue的新用户最常问的一个问题,特别是以前使用Angular的用户,是"我可以使用" templateURL吗?这个问题我回答过很多次,现在写一个统一回复. 在Angul ...

    2. angular配置路由/子页面+vue配置路由/子页面

      1.在vue.js中组件可以复用,然后最近配置了几个子页面 在 这个文件中配置路由,子页面的配置跟其他一样,只不过path不同.   routes: [     { path: '/',       ...

    3. angular与vue的应用对比

      因为各种笔试面试,最近都没时间做一些值得分享的东西,正好复习一下vue技术栈,与angular做一下对比. angular1就跟vue比略low了. 1.数据绑定 ng1 ng-bind,{{ sco ...

    4. Miniprofiler在swagger、vue、angular中的使用

       本篇分为以下几个部分: 1.Swagger的简单应用 2.Miniprofier的后台配置 3.跨域配置 4.在angular中显示Miniprofier 5.在vue中显示Miniprofier ...

    5. vuejs angularjs 框架的一些比较(vue项目重构四)

      使用Angularjs和Vue.js对比 首先需要说明的是:现在默认angularjs指angular1.0+版本,angular默认指2.0以上版本.本文的名词也默认指定angular的1.0+版本 ...

    6. Vue 资源

      一. 资源教程 综合类 vuejs 英文资料 Vue中文资料总汇 Vue.js 的一些资源索引 vue资料 入门类 vue 快速入门 Vue.js 中文系列视频教程 on Laravist 英文教程 ...

    7. vue,react,angular三大web前端流行框架简单对比

      常用的到的网站 vue学习库: https://github.com/vuejs/awesome-vue#carousel (json数据的格式化,提高本地测试的效率) json在线编辑: http: ...

    8. 手把手教你使用Vue/React/Angular三大框架开发Pagination分页组件

      DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师.官方网站:devui.designNg组件库:ng-devui(欢迎S ...

    9. Vue.js 和 MVVM 小细节

      MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...

    随机推荐

    1. 架构:Introducing Expert Systems and Distributed Architecure

      原文地址:http://www.yourenterprisearchitect.com/2011/10/introducing-service-bus.html.   Expert Systems. ...

    2. C#程序集Assembly学习随笔(增补版,附图)_AX

      上篇我讲了下我对Assembly的初步认知.现在来说说怎么使用已有的Assembly.比如说我在做一个解决方案时,发现你做的解决方案的某个项目中的类的方法(功能)我正好可以用到,哈,那我就不用写类了, ...

    3. 让Android Preference Summary中实时显示内容变更

      Android中提供的Preference可以保存用户的喜好设置.在启明星安卓版员工通讯录里,有一个地方保存用户输入的URL就是用的Preference. 但是Preference默认显示的是Summ ...

    4. protobuf 更新消息和扩展,包

      一.更新一个消息类型 如果一个已有的消息格式已无法满足新的需求--如,要在消息中添加一个额外的字段--但是同时旧版本写的代码仍然可用.不用担心!更新消息而不破坏已有代码是非常简单的.在更新时只要记住以 ...

    5. [已解决]下载chromium源码 download_from_google_storage 无法下载文件

      当使用 gclient runhooks 后 出现下面的错误 File gs://chromium-gn/1088992877b3a13f25b61c8fc18e25296d8cab33 for sr ...

    6. linux 查看机器内存方法 (free命令)

      工作中遇到了统计机器内存的问题.记录一下. free命令可以查看那机器内存. 如下图单位是M 查看man free可以知道,也可以直接从/proc/meminfo文件中读取.

    7. 开源3D软件——大集合【转】

      要3D打印一件作品,自然少不了3D建模.以下是一些免费开源3D模型设计软件: Blender Blender是最受欢迎的免费开源3D模型制作软件套装. 跨平台支持所有的主要操作系统. 功能非常强大,但 ...

    8. thinkphp生成的验证码不显示问题解决

      在调用验证码之前加上 ob_clean(); 不显示验证码的代码: public function verify(){ $verify = new \Think\Verify(); $verify-& ...

    9. JS获取当前项目名

      代码如下: //获取当前网址,如: var curWwwPath=window.document.location.href; //获取主机地址之后的目录如:/Tmall/index.jsp var ...

    10. 赋值操作符、复制构造函数、析构函数、static成员练习

      /** * 定义一个Employee类,包含雇员名字和一个唯一的雇员标识,为该类定义默认构造函数和参数为表示 * 雇员名字的string构造函数.如果该类需要复制构造函数或赋值操作符,实现这些函数 * ...