Knockout事件传递参数的几种方式

<!DOCTYPE html>

<html>

<head>

<meta name="viewport" content="width=device-width" />

<title>Ko Test</title>

</head>

<body>

<h1>方法1</h1>

<ul data-bind="foreach: fruits">

            <li data-bind="click: $root.clickHdr.bind(name), text:name + ‘(点击)‘"></li>

        </ul>

<h2>方法2</h2>

<ul data-bind="foreach:fruits">

            <li data-bind="click: $root.clickHdr2.bind({name:name}), text:name + ‘(点击)‘"></li>

        </ul>

<h3>方法3</h3>

<ul data-bind="foreach: fruits">

            <li data-bind="click: function() {$root.clickHdr3(name);}, text:name + ‘(点击)‘"></li>

        </ul>

<h4>方法4</h4>

<ul data-bind="foreach: fruits">

            <li data-bind="click:$root.clickHdr4, text:name + ‘(点击)‘"></li>

        </ul>

<script src="js/knockout-3.1.0.js"></script>

<script>

var myViewModel = {

                fruits: [

                    { id: 1, name: ‘苹果‘ },

                    { id: 2, name: ‘梨子‘ },

                    { id: 3, name: ‘香蕉‘ },

                    { id: 4, name: ‘萄萄‘ }

                ],

                clickHdr:function(){

                    alert(this);

                },

                clickHdr2: function () {

                    alert(this.name);

                },

                clickHdr3: function (name) {

                    alert(name);

                },

                clickHdr4: function (obj) {

                    alert(‘this.id is ‘ + this.id + ‘\n\

                           obj.id is ‘ + obj.id + ‘\n\

                           this === obj is ‘ + (this === obj)

                         );

                }

            };

            ko.applyBindings(myViewModel);

</script>

</body>

</html>

时间: 2024-12-29 12:03:32

Knockout事件传递参数的几种方式的相关文章

Delphi过程、函数传递参数的八种方式

Delphi过程函数传递参数的八种方式 Delphi过程.函数传递参数的八种方式,布布扣,bubuko.com

asp传递参数的几种方式

把下列代码分别加入a.asp和b.asp的<body></body>中,点提交,就可以将a.asp文本框的内容传给b.asp并显示出来 a.ASP <form action="B.asp" method="get"> <input name="ABC" type="text" /> <input name="" type="button&quo

vue-router传递参数的几种方式

vue-router传递参数分为两大类 编程式的导航 router.push 声明式的导航<router-link> 编程式的导航router.push 传递参数分为两种类型:字符串,对象 字符串 字符串的方式是直接将路由地址以字符串的方式来跳转,这种方式简单但不能传递参数 this.$router.push("home"); 对象 想要传递参数主要就是以对象的方式来写,分为两种方式:命名路由,查询参数 1.命名路由 命名路由的前提是在注册路由的地方给路由命名如: 命名路由

Knockout 事件传递参数的方法

在Knockout中直接使用函数传递参数是不行的,会导致函数在初始化时就被调用,例如: <span style="font-size:14px;"><div data-bind="click:changeEditor($index)"></div> </span> 将导致函数在初始化时,点击事件changeEditor()函数就被调用,显然,违背初衷. 要实现参数的传递,有2种方法: 1.方法一:使用函数包裹 <

多线程传递参数的两种方式

1 带参数的委托方法来传递参数 static void Main(string[] args) { var d = new Data { Message = "中国" }; //通过带参数的委托方法来传递参数 ParameterizedThreadStart var t2 = new Thread(ThreadMainWithParameters); t2.Start(d); System.Console.ReadLine(); } static void ThreadMainWith

(转)JSP向后台传递参数的四种方式

Jsp页面传值的方法 一.通过Form表单提交传值 客户端通过Form表单提交到服务器端,服务器端通过 Java代码 request.getParameter(String xx); 来取得参数(xx)为参数名称.通过get/post方式进行提交 二.通过隐藏域传值 通过在表单中加入一个隐藏域来提交到服务器端,这种方式的好处是可以在客户端加入一些自己想要加入的参数,以便得到相应的值. 客户端代码: Java代码 <input type="hidden" name="id

SpringMVC jsp页面向controller传递参数的五种方式

一共是五种传参方式: 一:直接将请求参数名作为Controller中方法的形参 public  String login (String username,String password)   : 解释:括号中的参数必须与页面Form 表单中的name 名字相同 二:使用@RequestParam 绑定请求参数参数值 举例:public String login(RequestParam ("username") String name) : 解释:双引号中的username 必须与页

ionic项目中跨页面传递参数的几种方式

1.使用AngularJS自带的$cacheFactory服务 $cacheFactory 从字面直译即为缓存工厂,可以用它来生成缓存对象,缓存对象以key-value的方式进行数据的存储 在整个应用内是单例的,可以在service或者controller中注入这个服务,然后就可以用它来自由的存取对象以及各种变量,下面是一个简单例子 .controller('AppCtrl', function ($scope, $ionicModal, $timeout, $cacheFactory) { v

hibernate createQuery查询传递参数的两种方式

String hql = "from InventoryTask it where it.orgId=:orgId"; Session session = getSession(); Query query=session.createQuery(hql); query.setString("orgId",orgId); List list = query.list(); if(list!=null&&list.size()!=0){ return