Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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
Templates 模板呈现上的主干下划线错误:未捕获类型错误:对象#<;对象>;没有方法';获取';_Templates_Backbone.js_Underscore.js - Fatal编程技术网

Templates 模板呈现上的主干下划线错误:未捕获类型错误:对象#<;对象>;没有方法';获取';

Templates 模板呈现上的主干下划线错误:未捕获类型错误:对象#<;对象>;没有方法';获取';,templates,backbone.js,underscore.js,Templates,Backbone.js,Underscore.js,在下面render方法的console.log行中,它显示了this.member实例正是它应该是的。所以成员对象是好的。我已经吐出了tpl的字符串,它应该是什么。那么,是什么导致了主题标题中的错误呢 其他信息:此视图是父视图渲染的子视图。我正在使用 非常感谢你的帮助。我在旋转我的轮子:-/ 这是我的密码 编辑:更改了成员对象属性引用,现在可以工作了… <div class="wrap-profile container"> <div class="profile-pi

在下面render方法的console.log行中,它显示了this.member实例正是它应该是的。所以成员对象是好的。我已经吐出了tpl的字符串,它应该是什么。那么,是什么导致了主题标题中的错误呢

其他信息:此视图是父视图渲染的子视图。我正在使用

非常感谢你的帮助。我在旋转我的轮子:-/

这是我的密码

编辑:更改了成员对象属性引用,现在可以工作了…

<div class="wrap-profile container">
    <div class="profile-pic">
        <div class="pic">
            <img src="<%= pathUploads %><%= member.photo_profile %>" width="400" height="600" id="<%= member.id %>" class="photo-img">
        </div>      
    </div>
    <div class="profile-info">
        <div>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent consectetur urna nec erat pretium tempus.
        </div>  
        <div>
            Morbi nec arcu at leo lobortis egestas. Phasellus sagittis neque dolor, ut congue lorem egestas id.m laoreet, vitae tristique lorem sollicitudin.
        </div>  
        <div>
            In vel libero eget enim rhoncus suscipit. Nunc tristique in nisi eget bibendum. Mauris et pulvinar orci.
        </div>  
        <div>
            Quisque eget sem id dolor tempus dictum. Pellentesque luctus scelerisque lacinia.
        </div>  
        <div>
            Sed gravida rutrum bibendum. Aenean condimentum eu dui nec adipiscing. Duis sagittis pharetra enim.
        </div>  
    </div>
</div>
// ProfileView.js

define( function(require) {

    "use strict";

    var $                   = require('jquery'),
        _                   = require('underscore'), 
        Backbone            = require('backbone'), 
        Helper              = require('helper'), 
        tpl                 = require('text!templates/profilePicTemplate.html'),

        template            = _.template(tpl);

    return Backbone.View.extend({

        el: $("#profile"),

        initialize: function(member) {
            var self = this;
            this.member = member;
        },

        render: function() {
            var data = {
                pathUploads: Helper.global.pathUploads, 
                member: this.member 
            };
            console.log(this.member);
            this.$el.html(template(data));
            return this;
        },

        destroy: function() {
            template = null
            this.member = null;
        }

    });

});
模板…

<div class="wrap-profile container">
    <div class="profile-pic">
        <div class="pic">
            <img src="<%= pathUploads %><%= member.photo_profile %>" width="400" height="600" id="<%= member.id %>" class="photo-img">
        </div>      
    </div>
    <div class="profile-info">
        <div>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent consectetur urna nec erat pretium tempus.
        </div>  
        <div>
            Morbi nec arcu at leo lobortis egestas. Phasellus sagittis neque dolor, ut congue lorem egestas id.m laoreet, vitae tristique lorem sollicitudin.
        </div>  
        <div>
            In vel libero eget enim rhoncus suscipit. Nunc tristique in nisi eget bibendum. Mauris et pulvinar orci.
        </div>  
        <div>
            Quisque eget sem id dolor tempus dictum. Pellentesque luctus scelerisque lacinia.
        </div>  
        <div>
            Sed gravida rutrum bibendum. Aenean condimentum eu dui nec adipiscing. Duis sagittis pharetra enim.
        </div>  
    </div>
</div>
// ProfileView.js

define( function(require) {

    "use strict";

    var $                   = require('jquery'),
        _                   = require('underscore'), 
        Backbone            = require('backbone'), 
        Helper              = require('helper'), 
        tpl                 = require('text!templates/profilePicTemplate.html'),

        template            = _.template(tpl);

    return Backbone.View.extend({

        el: $("#profile"),

        initialize: function(member) {
            var self = this;
            this.member = member;
        },

        render: function() {
            var data = {
                pathUploads: Helper.global.pathUploads, 
                member: this.member 
            };
            console.log(this.member);
            this.$el.html(template(data));
            return this;
        },

        destroy: function() {
            template = null
            this.member = null;
        }

    });

});

证据直接指向
this.member
是一个普通的老javascript对象,而不是
主干.Model
子类的实例。你似乎意识到了这一点,所以我认为这是一个“不,真的,现在听我们说,以后相信我们”的例子。要测试这个理论,请在这个片段中交换

var data = {
  pathUploads: Helper.global.pathUploads, 
  member: new Backbone.Model(this.member) 
};
如果这能解决问题,那么这个理论就成立了


(旁白……)


<> P>因为它的价值,使你的模板需要一个主干模型实例而不是普通数据可能是劣质的,所以考虑只是让你的模板做<代码> <代码>,这样它就不关心数据来自哪里。这也使得使用presenter设计模式更加容易。您可以在视图中使用
member.toJSON()
获取要传递到模板的普通数据属性。

证据非常直接地指向
这个.member
是一个普通的旧javascript对象,而不是
主干.Model
子类的实例。你似乎意识到了这一点,所以我认为这是一个“不,真的,现在听我们说,以后相信我们”的例子。要测试这个理论,请在这个片段中交换

var data = {
  pathUploads: Helper.global.pathUploads, 
  member: new Backbone.Model(this.member) 
};
如果这能解决问题,那么这个理论就成立了


(旁白……)


<> P>因为它的价值,使你的模板需要一个主干模型实例而不是普通数据可能是劣质的,所以考虑只是让你的模板做<代码> <代码>,这样它就不关心数据来自哪里。这也使得使用presenter设计模式更加容易。您可以在视图中使用
member.toJSON()
获取要传递到模板的普通数据属性。

执行
console.log(this.member)
render
中说出正确的话?@muistooshort:是的,这个.member有一个完整的member对象,其中包含
photo\u profile
id
属性。你确定它是主干。模型吗?
在您的模板中说了什么?您的
控制台.log(this.member)是否存在
render
中说出正确的话?@muistooshort:是的,这个.member有一个完整的member对象,其中包含
photo\u profile
id
属性。你确定它是主干。模型吗?
在你的模板中说了什么?好吧,时间晚了一点,我绝对相信你;-)该会员过去/现在不是BB车型。我将在OP中编辑代码,以显示什么是有效的。谢谢,谢谢你们!嗯,时间晚了一点,我绝对相信你;-)该会员过去/现在不是BB车型。我将在OP中编辑代码,以显示什么是有效的。谢谢,谢谢你们!