Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
View 视图中的EmberJs{{action}helper不';行不通_View_Ember.js_Action - Fatal编程技术网

View 视图中的EmberJs{{action}helper不';行不通

View 视图中的EmberJs{{action}helper不';行不通,view,ember.js,action,View,Ember.js,Action,我正在尝试在我的ember应用程序中添加引导模式。我想能够添加模态,与指定的模板,并能够处理行动。我不能让它工作。模式出现,我的控制器的属性已绑定,但我无法处理操作。我不明白为什么。我真的希望能够从控制器中的任何位置触发modal并在其上绑定操作 我的观点是这样的: App.ModalView = Ember.View.extend({ classNames: ['modal fade'], attributeBindings: ['role'], ro

我正在尝试在我的ember应用程序中添加引导模式。我想能够添加模态,与指定的模板,并能够处理行动。我不能让它工作。模式出现,我的控制器的属性已绑定,但我无法处理操作。我不明白为什么。我真的希望能够从控制器中的任何位置触发modal并在其上绑定操作

我的观点是这样的:

App.ModalView = Ember.View.extend({
    classNames:         ['modal fade'],
    attributeBindings:  ['role'],
    role:               'dialog',

    didInsertElement: function() {
        this._super();
        this.$().modal();
        this.$().on('hidden.bs.modal', this.close.bind(this));
    },
    close: function(event) {
        return this.destroy();
    }
});
<div class="modal-dialog">
   <div class="modal-content">
      <div class="modal-header">
         <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
         <h4 class="modal-title">My Modal Title</h4>
      </div>
      <div class="modal-body">
        <div class="row">
           <div class="col-md-12">
               My modal content
           </div>
        </div>
      </div>
      <div class="modal-footer">
         <button type="button" data-dismiss="modal" class="btn default">Close</button>
         <button type="button" class="btn green" {{ action "myaction"}}>My Button with an action</button>
      </div>
   </div>
</div>
我在一个随机控制器中这样实例化它:

var modal = controller.container.lookup('view:modal');
modal.reopen({
    controller:     this,
    targetObject:   this,
    templateName:   'mymodal'
});

return modal.appendTo('body');
我的模板如下所示:

App.ModalView = Ember.View.extend({
    classNames:         ['modal fade'],
    attributeBindings:  ['role'],
    role:               'dialog',

    didInsertElement: function() {
        this._super();
        this.$().modal();
        this.$().on('hidden.bs.modal', this.close.bind(this));
    },
    close: function(event) {
        return this.destroy();
    }
});
<div class="modal-dialog">
   <div class="modal-content">
      <div class="modal-header">
         <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
         <h4 class="modal-title">My Modal Title</h4>
      </div>
      <div class="modal-body">
        <div class="row">
           <div class="col-md-12">
               My modal content
           </div>
        </div>
      </div>
      <div class="modal-footer">
         <button type="button" data-dismiss="modal" class="btn default">Close</button>
         <button type="button" class="btn green" {{ action "myaction"}}>My Button with an action</button>
      </div>
   </div>
</div>

我的情态标题
我的模态内容
接近
我的按钮有一个动作
如果我尝试显示一些控制器属性,它会工作。但是当我用“myaction”按钮点击时,什么都没有发生。也许我在我的应用程序中处理情态动词的方式上完全错了(我在余烬的世界里还是个新手)。 我使用的是ember的最新版本(1.1.1)和Bootstrap3

谢谢


Vinc

模态方法很有可能将其与身体断开,这会打断你的动作


另请参见:

模态方法很有可能将其与身体断开,这将破坏您的动作


另请参见:

模态方法很有可能将其与身体断开,这将破坏您的动作


另请参见:

模态方法很有可能将其与身体断开,这将破坏您的动作


另请参见:

您不应该像这样访问视图

var modal=controller.container.lookup('view:modal')

见Wycats评论


或者,可以帮助您实例化模态

您不应该像这样访问视图

var modal=controller.container.lookup('view:modal')

见Wycats评论


或者,可以帮助您实例化模态

您不应该像这样访问视图

var modal=controller.container.lookup('view:modal')

见Wycats评论


或者,可以帮助您实例化模态

您不应该像这样访问视图

var modal=controller.container.lookup('view:modal')

见Wycats评论



或者,可以帮助您实例化模态

我想出来了。事实上,我的应用程序运行在一个特定的dom元素(#app)中。当我将视图添加到主体时,我的modale被添加到我的应用程序“外部”!因此,事件的泡沫链被打破。我没有将视图添加到主体中,而是将其添加到我的应用程序根元素中,现在一切正常

我明白了。事实上,我的应用程序运行在一个特定的dom元素(#app)中。当我将视图添加到主体时,我的modale被添加到我的应用程序“外部”!因此,事件的泡沫链被打破。我没有将视图添加到主体中,而是将其添加到我的应用程序根元素中,现在一切正常

我明白了。事实上,我的应用程序运行在一个特定的dom元素(#app)中。当我将视图添加到主体时,我的modale被添加到我的应用程序“外部”!因此,事件的泡沫链被打破。我没有将视图添加到主体中,而是将其添加到我的应用程序根元素中,现在一切正常

我明白了。事实上,我的应用程序运行在一个特定的dom元素(#app)中。当我将视图添加到主体时,我的modale被添加到我的应用程序“外部”!因此,事件的泡沫链被打破。我没有将视图添加到主体中,而是将其添加到我的应用程序根元素中,现在一切正常

我没有看到您的视图中定义了myaction,另外,您在哪里找到了创建这样一个视图的信息?我没有myaction处理程序,但我应该得到一条消息,表明没有任何东西可以处理“myaction”操作:)我们必须创建这样的视图,否则会出现不推荐的错误(如果您愿意,我可以为您找到链接)我没有看到您的视图中定义了myaction,另外,您在哪里找到了创建这样一个视图的信息?我没有myaction处理程序,但我应该得到一条消息,表明没有任何东西可以处理“myaction”操作:)我们必须创建这样的视图,否则会出现不推荐的错误(如果您愿意,我可以为您找到链接)我没有看到您的视图中定义了myaction,另外,您在哪里找到了创建这样一个视图的信息?我没有myaction处理程序,但我应该得到一条消息,表明没有任何东西可以处理“myaction”操作:)我们必须创建这样的视图,否则会出现不推荐的错误(如果您愿意,我可以为您找到链接)我没有看到您的视图中定义了myaction,另外,您在哪里找到了创建这样一个视图的信息?我没有myaction处理程序,但我应该得到一条消息,表明没有任何东西可以处理“myaction”操作:)我们必须创建这样的视图,否则会出现不推荐的错误(如果您愿意,我可以为您找到链接)正确的方法是什么?我应该将其与App.ModalView.create()实例化吗?如果使用create(),则会出现以下错误:弃用:不再支持使用defaultContainer。[defaultContainer#lookup]请参阅:您无需创建、附加或删除视图。让框架来处理这个问题。您可以使用
render
方法来处理所有这些问题。我尝试了您在要点中建议的解决方案。使用“render”方法将带有事件的模式打开处理到应用程序路由中。但最后,我有很多限制:无法访问我的视图对象。不能在这个视图上触发事件,不能简单地配置我的视图,必须自己处理引导动画等等。。。使用“ModalManager”,管理我的modals变得更容易:打开/关闭等。正确的方法是什么?我应该将其与App.ModalView.create()实例化吗?如果我是你