- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个被多个 View 模型使用的模型,并且我需要一些其他 javascript 组件来更新模型,由我的虚拟机观察到。我不知道如何做到这一点,因为在教程中,他们在 View 模型中“混合”模型。
这是我的代码:
var ConversationModel = {
conversations: ko.observableArray(),
open: function(userId){
for(var i = 0; i < this.conversations.length; i++){
if(this.conversations[i].userId == userId){
return;
}
}
var self = this;
var obj = ko.observable({
userId: userId
});
self.conversations.push(obj);
UserManager.getUserData(userId, function(user){
$.getJSON(Routes.messenger.getConversation, "receiver=" + userId, function(data){
obj.receiver = user;
obj.data = data;
});
});
}
};
function ConversationDialogViewModel() {
var self = this;
this.conversations = ko.computed(function(){
return ConversationModel.conversations;
});
console.log(this.conversations());
this.conversations.subscribe(function(context){
console.log(context);
});
}
最佳答案
你可以找到一个(相当)好的例子 here如何组合:
请注意代码是 ES2015(新的 Javascript),但如果您愿意,您也可以用纯 Javascript 编写。 gulp 脚本包括对组件中的任何 html 模板进行字符串化,因此它们可以组合并作为一个文件加载,但可以作为单独的元素进行编辑。
示例组件:
const ko = require('knockout')
, CentralData = require('../../service-providers/central-data')
, CentralState = require('../../service-providers/central-state')
, template = require('./template.html');
const viewModel = function (data) {
//Make service providers accessible to data-bind and templates
this.CentralData = CentralData;
this.CentralState = CentralState;
this.componentName = 'Component One';
this.foo = ko.observable(`${this.componentName} Foo`);
this.bar = ko.observableArray(this.componentName.split(' '));
this.barValue = ko.observable("");
this.bar.push('bar');
this.addToBar = (stuffForBar) => {
if(this.barValue().length >= 1) {
this.bar.push(this.barValue());
CentralData.pushMoreData({firstName: this.componentName,secondName:this.barValue()});
}
};
this.CentralState.signIn(this.componentName);
if (CentralData.dataWeRetrieved().length < 10) {
var dataToPush = {firstName : this.componentName, secondName : 'Foo-Bar'};
CentralData.pushMoreData(dataToPush);
}
};
console.info('Component One Running');
module.exports = {
name: 'component-one',
viewModel: viewModel,
template: template
};
和组件模板:
<div>
<h1 data-bind="text: componentName"></h1>
<p>Foo is currently: <span data-bind="text: foo"></span></p>
<p>Bar is an array. It's values currently are:</p>
<ul data-bind="foreach: bar">
<li data-bind="text: $data"></li>
</ul>
<form data-bind="submit: addToBar">
<input type="text"
name="bar"
placeholder="Be witty!"
data-bind="attr: {id : componentName}, value : barValue" />
<button type="submit">Add A Bar</button>
</form>
<h2>Central State</h2>
<p>The following components are currently signed in to Central State Service Provider</p>
<ul data-bind="foreach: CentralState.signedInComponents()">
<li data-bind="text: $data"></li>
</ul>
<h2>Central Data</h2>
<p>The following information is available from Central Data Service Provider</p>
<table class="table table-bordered table-responsive table-hover">
<tr>
<th>Component Name</th><th>Second Value</th>
</tr>
<!-- ko foreach: CentralData.dataWeRetrieved -->
<tr>
<td data-bind="text: firstName"></td><td data-bind="text: secondName"></td>
</tr>
<!-- /ko -->
</table>
<h3>End of Component One!</h3>
</div>
出于您的目的,您可以忽略 Central
状态提供程序和 psuedo API,但随着您的应用变得更加复杂,您可能会发现该模型很有用。
关于javascript - knockout : separate model from modelview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36354757/
拜托,您对以下场景有什么建议(就架构质量而言)最好的方法: ModelViewA(父) - 需要从 ModelViewB 收集来显示数据 - 即使集合保持不变,也可以多次访问集合 ModelViewB
在 OpenGL 中,如何读取模型 View 矩阵中的当前 x/y 转换?我知道您必须将当前矩阵加载到数组中并从那里读取 float ,但我不知 Prop 体该怎么做。 最佳答案 为了检索当前的模型
flask 初学者在这里。我有一个使用以下模型的小 Flask 应用程序: class Question(db.Model): __tablename__ = 'questions'
更新了三种有效的方法,以及原来的一种无效的方法 我做了一个 Angular js 指令,我正在尝试访问 ctrl.$modelValue。它在主流中不起作用。 我有三种可能的解决方案,它们都有缺点。
我有一个被多个 View 模型使用的模型,并且我需要一些其他 javascript 组件来更新模型,由我的虚拟机观察到。我不知道如何做到这一点,因为在教程中,他们在 View 模型中“混合”模型。 这
这更像是一个一般的 Python 问题,而不是 Flask 问题。 这段代码来自https://github.com/mitsuhiko/flask/blob/master/flask/views.p
我正在研究 Flask-Admin 与 PeeWee 后端模型 View 的结合(但我的问题也可能适用于 SQLAlchemy 后端),有两件事我在文档或示例中找不到: (1)。当我的模型有一个唯一字
如何将 ModelView 上的字段设置为只读? class MyModelView(BaseModelView): column_list = ('name', 'last_name', '
目前在我的应用程序中,我使用 func/lambda 方法显示消息框,如下面的 url 中所述: http://www.deanchalk.me.uk/post/WPF-MVVM-e28093-Sim
如上所述here您可以通过声明 AdminIndexView 的子类并将 View 传递给管理应用程序来覆盖 Flask-Admin 的默认 View 。是否可以使用 ModelView 类 View
我正在使用带有flask-admin的模型 View ,并且我想在编辑/创建 View 中过滤列。列/字段是一种关系,我只想显示属于登录用户的字段,即 relationship_id == user.
我必须在其中创建一个简单的图像编辑器来执行翻转、翻转、添加边框等操作。我正在使用 jsp servlet。每当执行操作时,POST ajax 请求都会发送到服务器,其中包含数据-图像服务器相对路径和操
我正在练习 Django 的基于类的 View 。 在使用通用 CreateView 进行练习时,我很难理解为什么我的“fields”属性不起作用...我正在尝试使用 CreateView 构建一个
我想在模型 View 中为金额(自定义字段)添加过滤器 class FarmerAdmin(ModelView): column_descriptions = dict(amount = "A
我有一个使用 MVVM 模式 (MVVM Light Toolkit) 在 WPF 中开发的应用程序。 到目前为止,我没有遇到任何问题,直到需要在运行时更改与我的一些控件(一组 MenuItem)关联
获取 flask-admin ModelView URL 的正确方法是什么? 这是一个非常简单的例子: my_admin_view.py from flask.ext.admin.contrib.sq
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 8年前关闭。 Imp
我一直在四处寻找如何将模型 View 绑定(bind)到 View ,但我似乎无法解决。 我有一个名为 Search 的 View ,我想将它绑定(bind)到 SearchModelView。 Vi
我正在编写一个体积渲染程序,它不断调整一些平面几何形状,使其始终面向相机。每当相机旋转时,平面几何体就会旋转,以便看起来好像它相对于场景中的其他所有东西都没有移动。 (我使用相机的观看方向作为这些平面
我已经开始学习 MVC3 开发,但遇到了一些障碍。在我的项目中,我已将默认的 aspnet_ 成员表移动到单独的 SQL Server 2008 Express 数据库中。然后我添加了我自己的表来保存
我是一名优秀的程序员,十分优秀!