木偶行为:添加动态选项
Marionette Behaviors: Add dynamic options
我如何添加一个行为到我的视图与变量作为一个选项?在我的例子中,我想使用的变量是视图的一个选项,但是,当我尝试这样做时:
behaviors: {
prodMessage: {
profile: this.options.userdata.attributes._userid
}
},
我:
Uncaught TypeError: Cannot read property 'attributes' of undefined
我认为这是因为这发生在构造而不是初始化时。
那么,你有什么解决办法来实现这一点吗?
您的版本中的代码在应用程序加载期间执行。所以this
实际上并没有指向视图实例,但可能指向window
对象。为了让this
指向视图,你需要推迟行为的规范,以便在视图实例被构造时执行:
"
behaviors: function() {
return {
prodMessage: {
profile: this.options.userdata.attributes._userid
}
};
}
"
查看完整版本。
另一种选择是让行为通过this.view
访问视图:
prodMessage = Marionette.Behavior.extend({
onShow: function() {
alert(this.view.options.userdata.attributes._userid);
}
});
相关文章:
- 正在添加动态第二类Jquery
- 如何在javascript而不是jquery中添加动态列表
- 为图例添加动态色彩标签
- 如何在谷歌表单中添加动态字段
- 如何添加动态Id's并在运行时提取它们
- 在 JavaScript 中添加动态文本
- 如何添加动态表单元素但保留其值(JS)
- 使用AngularJs在自定义TinyMCE编辑器中添加动态数据
- 如何使用JavaScript添加动态HTML内容(DIV)
- javascript初学者:在javascript中添加动态样式
- 如何使用Javascript在html源中添加动态数据
- 向Uploadify添加动态字段
- 如何在 Vue.js 中添加动态组件/部件
- 锚导航与坚持到顶部菜单..需要向锚点添加动态偏移量
- Javascript:添加动态方法
- 向角度对象添加动态功能
- 添加动态文本框时更新动态高度
- JavaScript 运行时错误:无法在 Windows 8 应用中添加动态内容
- 添加动态点击事件
- 添加动态字段以创建特定的 JSON 格式