我有一个带有一个answerGroup对象数组的viewModel.当其中一个answerGroup对象的反馈属性更新时,我想通过ajax将更新的对象传递给我的ASP.Net MVC应用程序来保存更新的对象.
我希望在更新对象的属性时将对象传递给Ajax调用,而不是使用典型的保存按钮或链接.我想我可以通过绑定到textarea元素的change事件来做到这一点,但如果我这样做,则会调用ajax函数,但不会更新底层的answerGroup对象的feedback属性.
我正在使用Knockout 1.2.1.下面是JavaScript代码,我没有包含HTML.
我是以错误的方式解决这个问题还是只是我的knockout.js事件绑定的语法不正确?
<script>
var viewModel = {}
$(function () {
viewModel.scenarioId = ko.observable($("#Scenario_ScenarioID").val());
viewModel.answerGroups = ko.observableArray([]);
viewModel.addGroup = function (answerGroup) {
// add item to beginning of array
this.answerGroups.unshift(answerGroup);
};
ko.applyBindings(viewModel);
});
function answerGroup() {
this.id = ko.observable();
this.name = ko.observable();
this.feedback = ko.observable();
// the groups feedback has been updated so save
// these details back to the server
this.updateGroup = function (event) {
// javascript api library that is an ajax function.
// this …Run Code Online (Sandbox Code Playgroud) 我已经开始使用Gulp JS并且必须承认我发现它非常有用.
我需要执行的任务之一是将一组文件夹压缩成单独的zip文件,每个文件夹一个,然后将所有这些压缩文件压缩成一个zip文件.使用Gulp-Zip我已经成功地做到了这一点:
var modelFolders = [
'ELFH_Check',
'ELFH_DDP',
'ELFH_Free'
];
gulp.task('zipModels', function () {
for (var i = 0; i < modelFolders.length; i++) {
var model = modelFolders[i];
gulp.src('**/*', {cwd: path.join(process.cwd(), '/built_templates/' + model) })
.pipe(zip(model + '.zip'))
.pipe(gulp.dest('./built_templates'));
};
});
Run Code Online (Sandbox Code Playgroud)
这适用于输出ELFH_Check.zip,ELFH_DDP.zip和ELFH_Free.zip.但是,我需要将这些zip文件压缩成一个名为"Templates.zip"的zip文件,我还没有设法让这个任务起作用:
// zip up model files
gulp.task('zipTemplate', ['zipModels'], function () {
gulp.src('*.zip', {cwd: path.join(process.cwd(), './built_templates/') })
.pipe(zip('Templates_.zip'))
.pipe(gulp.dest('./built_templates'));
});
Run Code Online (Sandbox Code Playgroud)
有谁知道这是可能的还是我做错了什么?