이 경우 잘못된 정보를 찾는 사람이 있는지 궁금합니다./Marionette.js - 잡히지 않은 ReferenceError : 텍스트가 정의되지 않았습니다.
var Marionette = require('backbone.marionette');
var TodoView = require('./views/layout');
var initialData = {
items: [
{assignee: 'Scott', text: 'Write a book about Marionette'},
{assignee: 'Andrew', text: 'Do some coding'}
]
};
var App = new Marionette.Application({
onStart: function(options) {
var todo = new TodoView({
collection: new Backbone.Collection(options.initialData.items),
model: new ToDoModel()
});
todo.render();
todo.triggerMethod('show');
}
});
App.start({initialData: initialData});
전망
var Backbone = require('backbone');
var Marionette = require('backbone.marionette');
var ToDoModel = require('../models/todo');
var FormView = require('./form');
var ListView = require('./list');
var Layout = Marionette.View.extend({
el: '#app-hook',
template: require('../templates/layout.html'),
regions: {
form: '.form',
list: '.list'
},
collectionEvents: {
add: 'itemAdded'
},
onShow: function() {
var formView = new FormView({model: this.model});
var listView = new ListView({collection: this.collection});
this.showChildView('form', formView);
this.showChildView('list', listView);
},
onChildviewAddTodoItem: function(child) {
this.model.set({
assignee: child.ui.assignee.val(),
text: child.ui.text.val()
}, {validate: true});
var items = this.model.pick('assignee', 'text');
this.collection.add(items);
},
itemAdded: function() {
this.model.set({
assignee: '',
text: ''
});
}
});
module.exports = Layout;
을 layout.js : 라인 6 app.js에서 "텍스트가 정의되어 있지 catch되지 않은 오류 ReferenceError을"
((__t=(text))==null?'':_.escape(__t))+
driver.js를 내가 얻을
todoitem.html
<%- item.text %> — <%- item.assignee %>
텍스트가 정의되지 않은 이유는 무엇입니까?
밑줄의 템플릿 오류처럼 보입니다. 아마도 여러분은 html 템플릿 어딘가에서'<%= text %> '과 같은 것을 사용하고 있고 올바른 데이터를 컴파일 된 템플릿에 전달하지 않는다는 것을 의미합니다. –
질문이 업데이트되었습니다 : itemlist.html 템플릿에 출력이 추가되었습니다. – dev85