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

电商网站开发选题依据做网站的目的是啥

电商网站开发选题依据,做网站的目的是啥,长沙房产网最新楼盘地图,网络科技一般经营什么类型#xff1a;Arraystring | Object 详细#xff1a; props 可以是数组或对象#xff0c;用于接收来自父组件的数据。props 可以是简单的数组#xff0c;或者使用对象作为替代#xff0c;对象允许配置高级选项#xff0c;如类型检测、自定义验证和设置默认值。…类型Arraystring | Object 详细 props 可以是数组或对象用于接收来自父组件的数据。props 可以是简单的数组或者使用对象作为替代对象允许配置高级选项如类型检测、自定义验证和设置默认值。 你可以基于对象的语法使用以下选项 type可以是下列原生构造函数中的一种String、Number、Boolean、Array、Object、Date、Function、Symbol、任何自定义构造函数、或上述内容组成的数组。会检查一个 prop 是否是给定的类型否则抛出警告。Prop 类型的更多信息在此。defaultany 为该 prop 指定一个默认值。如果该 prop 没有被传入则换做用这个值。对象或数组的默认值必须从一个工厂函数返回。requiredBoolean 定义该 prop 是否是必填项。在非生产环境中如果这个值为 truthy 且该 prop 没有被传入的则一个控制台警告将会被抛出。validatorFunction 自定义验证函数会将该 prop 的值作为唯一的参数代入。在非生产环境下如果该函数返回一个 falsy 的值 (也就是验证失败)一个控制台警告将会被抛出。 // 简单语法 Vue.component(props-demo-simple, {props: [size, myMessage] })// 对象语法提供验证 Vue.component(props-demo-advanced, {props: {// 检测类型height: Number,// 检测类型 其他验证age: {type: Number,default: 0,required: true,validator: function (value) {return value 0}}} })HTML 中的 attribute 名是大小写不敏感的所以浏览器会把所有大写字符解释为小写字符。这意味着当你使用 DOM 中的模板时camelCase (驼峰命名法) 的 prop 名需要使用其等价的 kebab-case (短横线分隔命名) 命名 Vue.component(blog-post, {// 在 JavaScript 中是 camelCase 的props: [postTitle],template: h3{{ postTitle }}/h3 })!-- 在 HTML 中是 kebab-case 的 -- !-- 重申一次如果你使用字符串模板那么这个限制就不存在了。 -- blog-post post-titlehello!/blog-post到这里我们只看到了以字符串数组形式列出的 prop props: [title, likes, isPublished, commentIds, author]但是通常你希望每个 prop 都有指定的值类型。这时你可以以对象形式列出 prop这些 property 的名称和值分别是 prop 各自的名称和类型 props: {title: String,likes: Number,isPublished: Boolean,commentIds: Array,author: Object,callback: Function,contactsPromise: Promise // or any other constructor }这不仅为你的组件提供了文档还会在它们遇到错误的类型时从浏览器的 JavaScript 控制台提示用户。你会在这个页面接下来的部分看到类型检查和其它 prop 验证。 blog-post titleMy journey with Vue/blog-post !-- 动态赋予一个变量的值 -- blog-post v-bind:titlepost.title/blog-post!-- 动态赋予一个复杂表达式的值 -- blog-postv-bind:titlepost.title by post.author.name /blog-post在上述两个示例中我们传入的值都是字符串类型的但实际上任何类型的值都可以传给一个 prop。 传入一个数字 !-- 即便 42 是静态的我们仍然需要 v-bind 来告诉 Vue -- !-- 这是一个 JavaScript 表达式而不是一个字符串。-- blog-post v-bind:likes42/blog-post!-- 用一个变量进行动态赋值。-- blog-post v-bind:likespost.likes/blog-post传入一个布尔值 !-- 包含该 prop 没有值的情况在内都意味着 true。-- blog-post is-published/blog-post!-- 即便 false 是静态的我们仍然需要 v-bind 来告诉 Vue -- !-- 这是一个 JavaScript 表达式而不是一个字符串。-- blog-post v-bind:is-publishedfalse/blog-post!-- 用一个变量进行动态赋值。-- blog-post v-bind:is-publishedpost.isPublished/blog-post传入一个数组 !-- 即便数组是静态的我们仍然需要 v-bind 来告诉 Vue -- !-- 这是一个 JavaScript 表达式而不是一个字符串。-- blog-post v-bind:comment-ids[234, 266, 273]/blog-post!-- 用一个变量进行动态赋值。-- blog-post v-bind:comment-idspost.commentIds/blog-post传入一个对象 !-- 即便对象是静态的我们仍然需要 v-bind 来告诉 Vue -- !-- 这是一个 JavaScript 表达式而不是一个字符串。-- blog-postv-bind:author{name: Veronica,company: Veridian Dynamics} /blog-post!-- 用一个变量进行动态赋值。-- blog-post v-bind:authorpost.author/blog-post传入一个对象的所有 property 如果你想要将一个对象的所有 property 都作为 prop 传入你可以使用不带参数的 v-bind (取代 v-bind:prop-name)。例如对于一个给定的对象 post post: {id: 1,title: My Journey with Vue }下面的模板 blog-post v-bindpost/blog-post等价于 blog-postv-bind:idpost.idv-bind:titlepost.title /blog-post单向数据流 所有的 prop 都使得其父子 prop 之间形成了一个单向下行绑定父级 prop 的更新会向下流动到子组件中但是反过来则不行。这样会防止从子组件意外变更父级组件的状态从而导致你的应用的数据流向难以理解。 额外的每次父级组件发生变更时子组件中所有的 prop 都将会刷新为最新的值。这意味着你不应该在一个子组件内部改变 prop。如果你这样做了Vue 会在浏览器的控制台中发出警告。 这里有两种常见的试图变更一个 prop 的情形 这个 prop 用来传递一个初始值这个子组件接下来希望将其作为一个本地的 prop 数据来使用。在这种情况下最好定义一个本地的 data property 并将这个 prop 用作其初始值 props: [initialCounter], data: function () {return {counter: this.initialCounter} }这个 prop 以一种原始的值传入且需要进行转换。在这种情况下最好使用这个 prop 的值来定义一个计算属性 props: [size], computed: {normalizedSize: function () {return this.size.trim().toLowerCase()} }注意在 JavaScript 中对象和数组是通过引用传入的所以对于一个数组或对象类型的 prop 来说在子组件中改变变更这个对象或数组本身将会影响到父组件的状态。 Prop 验证 我们可以为组件的 prop 指定验证要求例如你知道的这些类型。如果有一个需求没有被满足则 Vue 会在浏览器控制台中警告你。这在开发一个会被别人用到的组件时尤其有帮助。 为了定制 prop 的验证方式你可以为 props 中的值提供一个带有验证需求的对象而不是一个字符串数组。例如 Vue.component(my-component, {props: {// 基础的类型检查 (null 和 undefined 会通过任何类型验证)propA: Number,// 多个可能的类型propB: [String, Number],// 必填的字符串propC: {type: String,required: true},// 带有默认值的数字propD: {type: Number,default: 100},// 带有默认值的对象propE: {type: Object,// 对象或数组默认值必须从一个工厂函数获取default: function () {return { message: hello }}},// 自定义验证函数propF: {validator: function (value) {// 这个值必须匹配下列字符串中的一个return [success, warning, danger].includes(value)}}} })当 prop 验证失败的时候(开发环境构建版本的) Vue 将会产生一个控制台的警告。 注意那些 prop 会在一个组件实例创建之前进行验证所以实例的 property (如 data、computed 等) 在 default 或 validator 函数中是不可用的。 类型检查 type 可以是下列原生构造函数中的一个 String Number Boolean Array Object Date Function Symbol 额外的type 还可以是一个自定义的构造函数并且通过 instanceof 来进行检查确认。例如给定下列现成的构造函数 function Person (firstName, lastName) {this.firstName firstNamethis.lastName lastName }你可以使用 Vue.component(blog-post, {props: {author: Person} })来验证 author prop 的值是否是通过 new Person 创建的。 非 Prop 的 Attribute 一个非 prop 的 attribute 是指传向一个组件但是该组件并没有相应 prop 定义的 attribute。 因为显式定义的 prop 适用于向一个子组件传入信息然而组件库的作者并不总能预见组件会被用于怎样的场景。这也是为什么组件可以接受任意的 attribute而这些 attribute 会被添加到这个组件的根元素上。 例如想象一下你通过一个 Bootstrap 插件使用了一个第三方的 组件这个插件需要在其 input 上用到一个 data-date-picker attribute。我们可以将这个 attribute 添加到你的组件实例上 bootstrap-date-input data-date-pickeractivated/bootstrap-date-input然后这个 data-date-pickeractivated attribute 就会自动添加到 bootstrap-date-input 的根元素上。 替换/合并已有的 Attribute 想象一下 bootstrap-date-input 的模板是这样的 input typedate classform-control为了给我们的日期选择器插件定制一个主题我们可能需要像这样添加一个特别的类名 bootstrap-date-inputdata-date-pickeractivatedclassdate-picker-theme-dark /bootstrap-date-input在这种情况下我们定义了两个不同的 class 的值 form-control这是在组件的模板内设置好的date-picker-theme-dark这是从组件的父级传入的 对于绝大多数 attribute 来说从外部提供给组件的值会替换掉组件内部设置好的值。所以如果传入 typetext 就会替换掉 typedate 并把它破坏庆幸的是class 和 style attribute 会稍微智能一些即两边的值会被合并起来从而得到最终的值form-control date-picker-theme-dark。 禁用 Attribute 继承 如果你不希望组件的根元素继承 attribute你可以在组件的选项中设置 inheritAttrs: false。例如 Vue.component(my-component, {inheritAttrs: false,// ... })这尤其适合配合实例的 $attrs property 使用该 property 包含了传递给一个组件的 attribute 名和 attribute 值例如 {required: true,placeholder: Enter your username }有了 inheritAttrs: false 和 $attrs你就可以手动决定这些 attribute 会被赋予哪个元素。在撰写基础组件的时候是常会用到的 Vue.component(base-input, {inheritAttrs: false,props: [label, value],template: label{{ label }}inputv-bind$attrsv-bind:valuevaluev-on:input$emit(input, $event.target.value)/label })注意 inheritAttrs: false 选项不会影响 style 和 class 的绑定。 这个模式允许你在使用基础组件的时候更像是使用原始的 HTML 元素而不会担心哪个元素是真正的根元素 base-inputlabelUsername:v-modelusernamerequiredplaceholderEnter your username /base-input
http://www.pierceye.com/news/214898/

相关文章:

  • 网站怎么添加音乐wordpress livechat
  • 网站开发的业务需求分析学校网站建设运行简介
  • 网站建设找博网iis7.0网站错误代码解决
  • 嘉鱼网站建设公司php网站开发技术期末题库
  • 企业网站搭建方案wordpress代码编辑器件
  • 网站的大小黄埔移动网站建设
  • 建设网站的语言中囯军事网
  • 网站开发职业访谈上海 建设工程质量监督站网站
  • 网站开发程序用什么好用新浪微博做网站
  • 什么免费推广网站好旅游订房网站开发需求文档
  • 网站运营是做啥的wordpress带会员中心主题
  • 网站设计怎么弄微信表情开放平台官网
  • 做网站纸张大小滨州网站建设模板建设
  • wordpress建站位置被跨境电商骗了怎么办
  • 巫山网站建设哇塞fm网站维护
  • 南宁百度网站推广计算机网站建设与推广
  • 汉中网站建设开发做微网站是订阅号还是服务号号
  • 中国商城网站建设h5响应式网站模板下载
  • 建设个商城网站需要多少钱网上商城系统平台官网
  • 软件开发与网站开发的区别最新源码
  • 电子商务网站建设策划中国网站建设公司排行
  • 网站的推广方式组合经验丰富的网站制作公司
  • 北京企业网站建设php制作公司网站首页
  • 保险网站建设网站 为何要 备案
  • 南宁网站设计可以找我wordpress 主题
  • 池州家居网站建设怎么样h5链接是什么意思
  • 网站添加站长统计代码凡科建站登录入口官方正版
  • 淮北做网站的公司有哪些手机网站设计只选亿企邦
  • 网站服务器打不开爱站工具网
  • php网站接口开发wordpress添加作者