首页 > 其他分享 >dagger.js:你要控制你自己(控制指令)

dagger.js:你要控制你自己(控制指令)

时间:2024-12-05 10:29:23浏览次数:5  
标签:dagger 示例 作用域 控制指令 js 指令

前情提要:dagger.js: 近水楼台先得月(作用域嵌套)

大家好,我是Tony。上一篇咱们讲过了如何使用生命周期指令+load创建作用域,以及通过事件处理指令+click绑定用户事件,这一篇来说说dagger.js的最后一种指令类型:控制指令

控制指令通常用于将作用域数据映射为DOM元素的attribute,根据数据绑定方式区别又分为单向控制指令和双向控制指令两种。

来看一个控制指令示例:

<div +load="{
  a: 1,
  b: 2,
  c: 4,
  d: 0
}" *watch#1="c = a + b" *watch#2="d = 2 * c">
  <label>a:<input type="number" *value="a"></label>
  <label>b:<input type="number" *value="b"></label>
  <br>
  <span>${ c } = ${ a } + (${ b })</span>
  <br>
  <span>${ d } = 2 * (${ c })</span>
  <br/>
  <button +click="a = 1, b = 2">reset</button>
</div>

上面的例子里,两个input标签和变量a/b通过双向控制指令*value建立了双向数据绑定关系,当用户修改input框中的内容时,将触发监听指令*watch执行,重新计算变量c和d的结果并更新到span标签当中。

在这里例子里我们还看到,指令表达式中可以使用a代替$scope.a,二者的效果是一样的,推荐使用简写方式,代码更加简洁。

可以通过官方文档了解更多控制指令的使用方式。

如果对dagger.js感兴趣的话,请您点赞收藏、分享本系列文章,也欢迎评论或者私信作者提出问题和建议。您的关注是对我最大的支持和鼓励。感谢您的阅读,祝工作学习顺利!

本文示例地址

注:本教程中的示例代码使用即将release的dagger-1.0.0-RC分支版本语法编写,与官网文档略有不同。

标签:dagger,示例,作用域,控制指令,js,指令
From: https://blog.csdn.net/2404_89388058/article/details/144220633

相关文章

  • js怎么实现一个类并实例化这个类?
    在JavaScript中,实现类和实例化类的方式随着ECMAScript的发展而演变。以下是几种常见的方法:1.ES6类语法(推荐)这是现代JavaScript中创建类和实例的首选方法,语法更清晰简洁,更接近传统面向对象语言。classPerson{constructor(name,age){this.name=name;......
  • json和对象有什么区别?
    在前端开发中,JSON和JavaScript对象(Object)容易混淆,但它们是不同的。主要区别在于:JSON是一种文本格式:JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。它本质上是一个字符串,用于表示结构化数据。你可以把它想象成一种用于在不同系统之间传输数据的语言......
  • vue中json对象数组求最大、最小、合计方法
    可以使用Array.reduce()方法来求最大、最小、合计值。示例代码如下://假设有以下json对象数组letarr=[{name:'tina',score:90},{name:'tom',score:80},{name:'john',score:70},{name:'jane',score:85}]//求最高分letmaxScor......
  • 用js写一个方法检测浏览器是否支持css3的属性
    functionsupportsCSSProperty(propertyName){//Createadummyelementtotestthepropertyonletelement=document.createElement('div');//Checkifthepropertyexistsdirectlyonthestyleobjectif(propertyNameinelement.style)......
  • 关于js中继承的总结
    继承原型链继承通过原型链prototype实现的继承:将Man的prototype属性指向Person的实例对象functionPerson(name){this.name='Person'this.children=[]}functionMan(){this.sex='male'}Man.prototype=newPerson()Man.prototype.constructor=Manc......
  • node.js毕设流浪猫狗救助系统 程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于流浪猫狗救助系统的研究,现有研究主要以动物保护的宏观理念及个别救助站的救助行为为主,专门针对流浪猫狗救助系统的研究较少。在国内外,动物保护意识......
  • node.js毕设教师工作量计算系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于教师工作量计算系统的研究,现有研究主要以整体教育管理系统为主,专门针对教师工作量计算系统的研究较少。在国内外教育领域不断发展的大环境下,学校规......
  • 最新版Node.js下载安装及环境配置教程
    目录初识:Node.js一、下载:Node.js二、安装:Node.js1.下载【node.js】压缩包安装文件2.解压下载的安装包3.打开解压的【node-v22.11.0-x64】文件夹4.双击启动安装程序5.点击【Next】6.勾选【IacceptthetermsintheLicenseAgreement】,然后点击【Next】7.点击【Next......
  • three.js教程_01认识基本元素
    视野角度示例:使用Three.js创建3D场景在这篇文章中,我们将通过使用Three.js库来创建一个简单的3D场景,演示如何通过相机的视野角度设置、3D对象的旋转、以及交互式操作来展示3D图形。Three.js是一个非常流行的3D图形渲染库,它利用WebGL技术使得在浏览器中渲染......
  • MVC Angularjs Vue Javascript 显示图片
    以前写随笔,均是一篇一篇来分享,这篇现算是集结。在MVC,angularjs,Vue.js或者Javascript显示用户上传的图片。本月份以来,Insus.NET有写过,C#mvc+axios+webapi+javascripthttps://www.cnblogs.com/insus/p/18577591asp.netmvc视图传递数据至另一页的视图https://www.cnblogs.......