EmberJS 发送多个操作的组件
2018-01-03 19:13 更新
描述
组件生成多个不同的操作以指定不同的事件。您需要将事件的名称指定为sendAction()方法的第一个参数。
语句
{{user-form submit="action1" cancel="action2"}}
例子
<!DOCTYPE html> <html> <head> <title>Emberjs Sending Multiple Actions</title> <!-- CDN's --> <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/3.0.1/handlebars.min.js"></script> <script src="https://code.jquery.com/jquery-2.1.3.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/ember.js/1.10.0/ember.min.js"></script> <script src="https://builds.emberjs.com/tags/v1.10.0-beta.3/ember-template-compiler.js"></script> <script src="https://builds.emberjs.com/release/ember.debug.js"></script> <script src="https://builds.emberjs.com/beta/ember-data.js"></script> </head> <body> <script type="text/x-handlebars" data-template-name="index"> <h1>Create New User</h1> {{user-form submit="createUser" cancel="cancelUserCreation" }} </script> <script type="text/x-handlebars" data-template-name="components/user-form"> <form {{action "submit" on="submit"}}> <p>Name {{input type="text" value=fname}}</p> <button {{action "cancel"}}>Cancel</button> <input type="submit" value="Submit User Name"> </form> </script> <script type="text/javascript"> App = Ember.Application.create(); App.IndexController = Ember.ObjectController.extend({ actions: { //calling the multiple actions //action for creating user createUser: function(user) { document.write("Created user: " + user.fname); }, //action for cancle cancelUserCreation: function() { document.write("Canceled user creation"); } } }); App.UserFormComponent = Ember.Component.extend({ actions: { submit: function() { //simply addind an additional parameters to the sendAction() method as submit this.sendAction('submit', { fname: this.get('fname'), }); }, cancel: function() { //simply addind an additional parameters to the sendAction() method as cancel this.sendAction('cancel'); } } }); </script> </body> </html>
输出
让我们执行以下步骤,看看上面的代码如何工作:
将上面的代码保存在comp_mult_actn.html文件中
在浏览器中打开此HTML文件。
以上内容是否对您有帮助:
更多建议: