当前位置: 首页 > news >正文

建设网站要花多少钱南宁seo外包服务

建设网站要花多少钱,南宁seo外包服务,武威网页设计培训学校,wordpress游览器标签页在Mvc模式大行其道的今天,后端通过各种Mvc框架实现视图与数据模型的隔离,而前端这方面也发展迅速。vue实现了Dom与viewModel双向绑定,使其视图的更新影响模型,模型的更新影响视图,你会不会觉得这就是Mvc库呢&#xff0…

   在Mvc模式大行其道的今天,后端通过各种Mvc框架实现视图与数据模型的隔离,而前端这方面也发展迅速。vue实现了Dom与viewModel双向绑定,使其视图的更新影响模型,模型的更新影响视图,你会不会觉得这就是Mvc库呢,实则不然,因为他还差一个重要的C(也就是控制器)。以下是鄙人对Mvc的个人理解,如有失误还请各位道友指正。

  • M:模型用于表示各种事物及事物特性的数据
  • v:view + viewModel,此处鄙人认为v不能单纯的理解为视图,而应该是视图+视图模型。
  • c:控制器,用于协调M与v之间的关系。

第一部分:我对vuex的理解

     这个重要的C是谁呢,鄙人认为就是此文章要介绍的Vuex(如果你想初识vue,可以移步vue原来可以这样上手这篇博文)。如此理解也是可以的:vue + vuex = 前端mvc框架

  • flux(单向数据流)
    • actions:一个动作,可以是view创建的,也可以是程序其他逻辑创建的
    • dispatcher:将业务逻辑与用户界面分离,负责响应action动作事件,并意向传遍整个系统
    • store:业务逻辑处理
    • view:视图
  • vuex是借鉴了flux、redux、The Elm Architecture等相关思想。

第二部分:揭开vuex面纱

本示例实现为一个输入框动态向下拉列表增加选择项的功能源码下载地址,先看效果图:


为了展示vuex的作用,此示例你可以看到如下内容:

  • 两个局部组件:输入和下拉列表组件
  • 一个全局组件:App,也是整个Vue实例的顶级组件
  • 一个jquery.js和bootstrap.js,用于实例下拉组件,jquery只辅助用于bootstrap。
  • 还有一个bootstrap.css,用于美化样式。

一、实现vuex的store实例

复制代码
//Vue.use(Vuex);//如果是window引入方式,vuex会自动附加到Vue上。
var state = {list: [{"id":1, "name": "001"}]
};
var mutations = {ADDITEM: function(argState, item){argState.list.push(item);}
};
var getters = {getList:function(argState){return argState.list;}
}
var actions = {addItem:function(dis,item){dis.commit('ADDITEM',item);}
}
var _storeObj = new Vuex.Store({"state": state,"mutations": mutations,"getters": getters,"actions": actions
});
复制代码

vuex更新数据流程:

  • dispatch可以是view视图中触发,也可以是程序业务逻辑来触发
  • actions通过commit方法发出一个改变事件
  • mutations中具体操作state的改变
  • state的改变通过getter暴露给view,state改变后会立即通知用getter关联起来的view。
  • 创建一个Vuex.Store的实例,用于Vue实例。

二、实现vue的组件

复制代码
var inputComp = {render:function(createElement){var self = this; return createElement('div',{attrs:{"data-id": "001"},class:{"form-inline":true},style:{"display": "inline-block"}},[createElement('input',{attrs:{type: 'text'},class:{"form-control": true},domProps:{value: self.value},on:{input:function(event){self.value = event.target.value;}} }),createElement('button',{on:{"click": function(event){self.$store.dispatch('addItem',{"id":2,"name": self.value});}},class:{"btn":true,"btn-primary": true},domProps:{type: 'button'}},"添加")]);}
};
//下拉列表组件
var ComboComp = {render:function(createElement){ var self = this;return createElement("div",{attrs:{"data-id": "ComboComp"},class:{"dropdown":true},style:{"display": "inline-block"}},[createElement("button",{class:{"btn": true,"btn-default": true,"dropdown-toggle": true},attrs:{"type": "button","id": "dr02","data-toggle": "dropdown"}},[ createElement("span", "选择"), createElement("span",{class:{"caret":true}})]),createElement("ul",{class:{"dropdown-menu":true},attrs:{"aria-labelledby":"dr02"}}, self.$store.getters["getList"].map(function(item){return createElement("li",item.name);}))])}
};
Vue.component('App',{template:'<div class="wrap" ><ComboComp></ComboComp> <InputComp></InputComp></div>',components:{"InputComp": inputComp,"ComboComp": ComboComp}
});
复制代码
  • inputComp(局部组件):提供输入
  • ComboComp(局部组件):实现列表内容的展示
  • App(全局组件):顶级组件,组合inputComp和ComboComp组件。
  • 组件参数说明:
    • render:返回一个组件,其中包含视图,data等。this为vue实例,参数是createElement方法,用于创建VNode。
  • 重点关注inputComp组件中button子元素的on中的click方法,内部用dispatch触发了store中对应Id的actions。
复制代码
createElement('button',{
on:{"click": function(event){self.$store.dispatch('addItem',{"id":2,"name": self.value});}
}
复制代码

三、输出

html部分代码:

<div class="wrap" id="app"><App></App>
</div>

js部分代码:

var _vue = new Vue({el: '#app',store: _storeObj
});
  • 视图中引入了App这个全局组件
  • 生成Vue实例的时候将vuex中创建的store实例传递进去。
http://www.lbrq.cn/news/2528101.html

相关文章:

  • html网站登录界面模板下载推广引流方法与渠道
  • wordpress查看购物车不管用seo赚钱吗
  • 网站建设需要哪些知识深圳网站制作公司
  • 最优做网站爱链接
  • 网站怎么做不违法贵阳seo网站推广
  • 网站建设存在四个问题b站推广怎么买
  • 济南做网站多少钱建设官网的网站首页
  • 网站开发内容aso优化哪家好
  • 舟山 做企业网站北京seo教师
  • 关于做网站的调查问卷怎么弄自己的网站
  • 深圳做网站 龙华信科百度一下官网首页登录
  • 网站建设电话客服话术游戏推广员上班靠谱吗
  • 网站维护需要什么技能公司网站建设服务
  • 怎么制作网站开发设计东莞全网推广
  • 网站源码程序下载企业网络推广服务
  • 河间市网站建设价格友情链接教程
  • 外贸网站如何做谷歌怎么推广自己的网站
  • 知己知彼网站关键词搜索爱站
  • 网站建设需要哪些设备公司网络营销推广软件
  • 淄博网站建设排行榜搜索引擎广告形式有
  • 国内专业网站建设公司班级优化大师官网下载
  • 一品威客网接单app是真的吗专业网站优化培训
  • 广西桂林漓江网络公司seo推广
  • WordPress自己写主题优化设计三年级上册答案语文
  • 晋江做网站模板网站搜索排名靠前
  • 专门做日租房的网站网站关键词
  • 百度权重1关键词优化推广排名
  • 广州设计公司网站网络推广岗位职责和任职要求
  • magento做预订类网站备案查询官网
  • ae做网站导航苏州seo优化
  • 【Python修仙编程】(二) Python3灵源初探(9)
  • 法式基因音响品牌SK(SINGKING AUDIO)如何以硬核科技重塑专业音频版图
  • 搭建 Mock 服务,实现前端自调
  • day36 力扣1049.最后一块石头的重量II 力扣494.目标和 力扣474.一和零
  • linux线程封装和互斥
  • 学习Markdown