讨论Vue.js的组件和模板
摘要:
指令是Vue.js中的一个重要特性,它主要提供了一种将数据变化映射到DOM行为的机制。然后,数据的变化映射到DOM行为,Vue.js是由数据驱动的,所以我们不会直接修改DOM结构,也不会有$('ul ')这样的操作。追加(' lione/li ')。当数据发生变化时,指令会用一个set操作来修改DOM,这样我们就只能关注数据的变化,而不能管理DOM的变化和状态。
Vue的内置说明
1.垂直装订
V-bind主要用于绑定DOM元素属性,
也就是说,元素属性的实际值由vm实例中的数据属性提供。
例如:
!title vue/title script src=' http : '的doctype html lang=' en ' head meta charset=' utf-8 '指令./vue . js '/脚本/头体!- HTML模板-div id=' demo ' span v-bind : cuto mid=' id“{ message } }/span/div script//data letobj={ message 3360 ' hello world ',id 3360 ' 123 ' };//声明式呈现varvm=newvue ({el:' # demo ',data : obj });/script/body/htmlv-bind可以缩写为“:”。
上面的例子可以缩写为span :cotomId='id '
效果如下:
2.v-on
绑定事件侦听器,缩写为@。
我们昨天用的。让我们写下来,看看效果
!title vue/title script src=' http : '的doctype html lang=' en ' head meta charset=' utf-8 '指令./vue . js '/脚本/头体!- HTML模板-div id=' demo ' span @ click=' click handle ' { message } }/span/div script//data letobj={ message : ' hello WUE ' };//声明性呈现varvm=newvue ({el:' # demo ',data: obj,methods : { click handle(){ alert(' click ')} });/script/body/html的效果如下:
3.v-html
V-html,参数类型为字符串,
功能是更新innerHTML。
接受的字符串将不会被编译,
像普通的超文本标记语言一样处理
代码如下
!title vue/title script src=' http : '的doctype html lang=' en ' head meta charset=' utf-8 '指令./vue . js '/脚本/头体!-html模板-div id=' demo ' v-html=' html '/div script//data letobj={ html 3360 ' div hello world/div ' };var VM=newvue ({el:' # demo ',data : obj })/script/body/html的效果如下
更多内置说明请查看官网:Vue.js说明
模板
Html模板
基于DOM的模板,模板是可解析且有效的html
插入文字
文本:使用“小胡子”语法(双括号){{value}}
函数:替换实例上的属性值。
当值改变时,插值内容将自动更新
原生html:双大括号输出文本,html不会被解析
属性:用v-bind绑定可以响应变化
使用JavaScript表达式:您可以编写简单的表达式
字符串模板
模板字符串
模板选项对象的属性
模板将替换悬挂元素。挂在元素上的任何东西都将被忽略。
代码如下
!doctype html lang=' en ' head meta charset=' utf-8 ' title模板/title脚本src=' http :/vue . js '/脚本/头体!- HTML模板-div id=' demo '/div script//data letobj={ HTML 3360 ' div string/div ',ABC 33601 };var str=' DivHello/div ';Varvm=newvue ({el:' # demo ',data: obj,template 3360 str })/script/body/html,有没有发现什么惊人的变化
只能有一个根节点
在一对脚本标签中编写html结构,并设置类型='X-template '
!doctype html lang=' en ' head meta charset=' utf-8 ' title模板/title脚本src=' http :/vue . js '/脚本/头体!- HTML模板-div id=' demo' spanvue/span/div脚本类型=' x-temp ' id=' temp ' div hello,{{ABC}},span Sunday/span/div/script script//data letobj={ HTML : ' div string/div ',var vm=new Vue({ el:'#demo ',data:obj,template : ' # temp ' });/script/body/html实现效果如下:
用脚本标签写作仍然受到限制。
如果其他文件具有相同的结构,
这个不能重复使用。
模板渲染功能
渲染功能
渲染选项对象的属性
CreateElement(标记名,{data object},[子元素]);
子元素是文本或数组
让我们做一个代码演示
!doctype html lang=' en ' head metacarset=' utf-8 ' title render函数/titlescriptsrc=' http:/vue . js '/script style type=' text/CSS '。BG { background3360 # ee0000}/style/head body div id=' demo '/div script//data let obj={ };Varvm=newvue ({el:' # demo ',data: obj,render(create element){ return create element(//元素名称' ul ',//数据对象{class:{ bg:true}},//子元素[createelement ('Li ',1),createelement ('Li ',2),createelement ('Li ',3)];} }) /script/body/html实现了以下结果
数据对象属性请参考官网示例。
Vue.js官网
摘要
以上是边肖介绍的Vue.js的组件和模板,希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!
版权声明:讨论Vue.js的组件和模板是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。