初识前端笔记之二

使用 v-html 指令用于输出 html 代码
v-html 指令

html几个重要标签用法(div,p,span,ul,li,dl,dt,dd,a,img,h,strong,em)

一段时间以来,发现有很多人XHTML都不会用,不光是普通的初学者,有的程序员都不是很清楚该怎么写这个XHTML,我这里呢算是把一些常见的应用问题做一个总结,也算能使得大家能在沟通,合作上能形成默契。

XHTML里有很多的标签,但是经常用到的也就是那么几个,也只要掌握这几个也就可以了。下面我们一一列举:div,p,span,ul,li,dl,dt,dd,a,img,h,strong,em

div 在我的脑子里我一直把他想作是一个瓶子或是箱子,我的感觉它挺硬的。这个div没有什么特性的意义,可以使用在很多地方,也就是说他可以装不同的东西。他的正确的写法是< div> < /div> 必需要有封口。大家都用来做布局之用,也有用来作为存放文章形成段落,实际上,这个做法并不是很好,因为作为文章的分段自然有一个特定的标签来用。那就是下面要讲的< p> < /p> 标签,不过用DIV来再整体的包住所有的段落。这是非常实用的。

p 这是一个有特定语义的标签,表示段落,是用来区分段落的。在大部分的浏览器中对P基本上都有一个上下的边距。但是没有行首缩进,因为行首缩进只是表示段落的方式但是不是一定或是必需的。所以在用P标签的时候如果需要可以针对P设定一下行首缩进,我是推荐在文章以外的地方不要使用P,因为P是有一定语义的,如果用在别的地方恐不合适。正确的写法是< p> < /p>

span 这也是一个非常常用的标签,这个标签可以说与div很像,没有什么特定的意义,只是他是一个级联元素,不是块级元素。我一直把它看作是一个袋子,他不像箱子那样可以有自己的宽高,他的宽高只能随着内容的多少而定,所以很像是袋子。这个标签与div正好互补。

ul,li 这是一个列表,在列表中,除了UL还OL,不过我觉得OL有点像是鸡肋。因为UL通过CSS定义一样可以有OL的数字排序效果。所以一般我不推荐使用 OL,有UL就可以了。UL是块级的,他的子级li也是块级标签。正确的写法是< ul> < li> < /li> < /ul> LI标签是被UL标签包裹的,在UL标签里可以有无数个LI标签,LI标签不能独立使用。并且LI标签一定要封口,这不光是美观问题,对于后期的维护也很有好处。很多程序员都不喜欢把这个LI封口。UL列表的用处主要是列举出一维的,同一类型的数据。具体的比如使用在菜单上,文章中列数的一些条例等等。在列表中有一种特别的形式与UL是不一样的。那就是下面的DL

dl,dt,dd 这是一个很特别的三个标签的组合。这里的DT是指标题,DD是指内容。DL是包课他们的容器。正确的写法是< dl> < dt> < /dt> < dd> < /dd> < /dl> 在DL里可以有很多组的DT,DD,当出现很多组的时候尽量是一个DT配一个DD,如果DD中内容很多,可以在DD里加P标签配合使用。DL列表是一个非常好的列表形式,可以多加利用。

a 这表示链接,是一个特定属性的,也是网页中最为神奇的标签。因为它才让无数的网页都连在了一起。正确的写法是:< a href=" " title=" " > < /a> 其中的href是表示目标地址,TITLE是鼠标悬停提示文字,这是可有可无的。但是有必是利大于无。

img 这是图片标签,也是个特定属性的标签。正常写法是:< img src=" " alt=" " title=" " /> 这里的src是目标地址,ALT与TITLE是替换文字,ALT是 IE特定的,TITLE是其它浏览器的通用的。不过记得后面的反斜线那是一定要有的。

H 这是一个系列的标签,从H1到H6,一共六个,有人说太少了,有人说正好用,有人说用不了这么多。反正我是觉得差不多。正确写法是:< h> < /h> 主要是用来存放标题,也有一些朋友用来作它用,个人觉得这个标签还是让他安生一点,就让他做标题的作用。这六个标签之间最好不要出现什么相互包含的事。

strong 这个意思是着重,这是有语义的,作用也很简单。至于样工,是加粗着重,还是用色彩表明着重,那都是自行选择。正确的写法是< strong> < /strong>

em 这个与strong很像,是表示强调。一般浏览器的默认值是斜体。使用方式与strong一样。写法是:< em> < /em>

  1.  v-bind:class  
    

class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性

  
// 相当于

②我们也可以在对象中传入更多属性用来动态切换多个 class 。

③我们也可以直接绑定数据里的一个对象:

  

④绑定返回对象的计算属性。这是一个常用且强大的模式:

 

⑤ 我们可以把一个数组传给 v-bind:class


⑥还可以使用三元表达式来切换列表中的 class :
errorClass 是始终存在的,isActive 为 true 时添加 activeClass 类:

v-bind:style (内联样式)
① 我们可以在 v-bind:style 直接设置样式:

菜鸟教程

v-bind
v-bind:value
v-model
v-bind:id(

菜鸟教程
)
② v-bind:style 可以使用数组将多个样式对象应用到一个元素上:

菜鸟教程

③ 也可以直接绑定到一个样式对象,让模板更清晰:

菜鸟教程

注意:当 v-bind:style 使用需要特定前缀的 CSS 属性时,如 transform ,Vue.js 会自动侦测并添加相应的前缀。

5

菜鸟教程
// 这里 href 是参数,告知 v-bind 指令将该元素的 href 属性与表达式 url 的值绑定
v-on 指令,它用于监听 DOM 事件:

   // 在这里参数是监听的事件名。
    
  

{{ message }}

修饰符是以半角句号 . 指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。例如,.prevent 修饰符告诉 v-on 指令对于触发的事件调用 event.preventDefault():********************************

过滤器

v-bind 缩写





v-on 缩写





methods 和 computed,效果上两个都是一样的,但是 computed 是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值。而使用 methods ,在重新渲染的时候,函数总会重新调用执行,可以说使用 computed 性能会更好,但是如果你不希望缓存,你可以使用 methods 属性。

    computed: {
    // 计算属性的 getter
    reversedMessage: function () {
     // `this` 指向 vm 实例
    return this.message.split('').reverse().join('')
    }
    }
    
  methods: {
  reversedMessage2: function () {
  return this.message.split('').reverse().join('')
  }
  }

computed 属性默认只有 getter ,不过在需要时你也可以提供一个 setter :

var vm = new Vue({
el: '#app',
data: {
name: 'Google',
url: 'http://www.google.com'
},
computed: {
site: {
  // getter
  get: function () {
    return this.name + ' ' + this.url
  },
  // setter
  set: function (newValue) {
    var names = newValue.split(' ')
    this.name = names[0]
    this.url = names[names.length - 1]
  }
}
}
})
// 调用 setter, vm.name 和 vm.url 也会被对应更新
vm.site = '菜鸟教程 http://www.runoob.com';
document.write('name: ' + vm.name);
document.write('
'); document.write('url: ' + vm.url);

从实例运行结果看在运行 vm.site = '菜鸟教程 http://www.runoob.com'; 时,setter 会被调用, vm.name 和 vm.url 也会被对应更新。

  1. 监听
    实例一

    计数器: {{ counter }}

实例二

  
千米 : 米 :

!!!!!
// $$watch是一个实例对象
vm.$watch('监听参数', function(nval, oval) {
});
watch : {
kilometers:function(val) {
this.kilometers = val;
this.meters = this.kilometers * 1000
},
meters : function (val) {
this.kilometers = val/ 1000;
this.meters = val;
}
} 这个两者写法区别.

你可能感兴趣的:(初识前端笔记之二)