当前位置: 首页 > news >正文

如何做教育公司网站简述seo的基本步骤

如何做教育公司网站,简述seo的基本步骤,网站设计配色怎么做,济南网站建设济南概述 我如何(不在后面的代码中使用代码)自动绑定到我想要的视图?据我了解,如果正确完成,这就是模式应该如何工作。我可以使用主窗口 xaml 中的代码实现这一切,我甚至正确创建了一个资源字典(因…

概述

我如何(不在后面的代码中使用代码)自动绑定到我想要的视图?据我了解,如果正确完成,这就是模式应该如何工作。我可以使用主窗口 xaml 中的代码实现这一切,我甚至正确创建了一个资源字典(因为我可以在直接窗口中访问它)。

我有一个主窗口。这是一个有 3 行的网格。顶行是菜单。底行是状态栏。中间是一个堆栈面板,根据菜单选择动态加载内容。

我有 2 个视图用于填充此堆栈面板。一个只有一个样式文本框(帮助和关于)。另一个本身就是一个复合视图:一个搜索面板、一个结果网格和一个详细信息面板,所有这些都加载到停靠管理器框架中。

在后面的主窗口代码中,当用户单击菜单选项时,我清除堆栈面板的子项,实例化视图模型,实例化将视图模型传入其中的视图,然后将新视图添加到堆栈的子项中. 这很好用,但我认为它与模式不一致。

正如我提到的,我有资源字典,但我不知道如何将它与堆栈面板相关联。我假设我必须使用绑定,但我无法弄清楚如何绑定到资源字典和/或如何告诉它更改命令视图。

视图绑定模型方案

  1. 在 XAML 中创建静态资源。
<Window x:Class="WpfApplication2.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WpfApplication2"mc:Ignorable="d"Title="MainWindow" Height="350" Width="525"><Window.Resources><local:MainViewModel x:Key="MainVM" /></Window.Resources><Grid DataContext="{StaticResource MainVM}">
​</Grid>
</Window>

2.在View的构造函数中绑定

我知道你提到不使用背后的代码,但这也是一种选择。只要你不在后面的代码中写任何逻辑,那么你就很好。

public MainWindow()
{InitializeComponent();this.DataContext = new MainViewModel(); 
}
  1. 使用 ViewModelLocator 绑定

您可能想要创建一个视图模型定位器类,该类负责为您的视图提供所需的视图模型。

这是一个视图模型定位器类的简单示例。viewmodel 定位器类公开了一些 viewmodel 属性。稍后我们会将这些属性绑定到视图的数据上下文。

 public class ViewModelLocator{public ViewModelLocator(){this.MainVM = new MainViewModel();this.AnotherVM = new AnotherViewModel();}public MainViewModel MainVM { get; set; }public AnotherViewModel AnotherVM { get; set; }}

然后,您可以在 App.xaml 中创建视图模型定位器的静态资源,使其可用于应用程序中的所有视图。

<Application x:Class="WpfApplication2.App"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="clr-namespace:WpfApplication2"StartupUri="MainWindow.xaml"><Application.Resources><local:ViewModelLocator x:Key="Locator" />         </Application.Resources>
</Application>

然后,您可以将视图的数据上下文绑定到视图模型定位器的属性。

该示例告诉我们,如果视图模型定位器(MainViewModel 实例)绑定到 Window 的数据上下文,则您正在将 MainVM 属性绑定。

<Window x:Class="WpfApplication2.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WpfApplication2"mc:Ignorable="d"Title="MainWindow" Height="350" Width="525"DataContext="{Binding MainVM, Source={StaticResource Locator}}">

视图模型双向数据绑定方案

1.简述

JS 几个流行的框架 Vuejs、Ember.js、AngularJS 都使用 MVVM 模式,该模式叫做视图模型双向数据绑定,以达到数据和视图快速同步的目的。本文就对其中涉及的原理部分加以说明(后续还有一篇模拟 实现)。主要体现就是表单元素值变,JS变量值改变,若页面上有输出,输出值也改变,典型的代码如下,vuejs.org 上提供的例子:

// HTML 
{{ message }}
// JS 8var app6 = new Vue({ 9 el: '#app',10 data: {11 message: 'Hello Vue!'12 }13})

效果:

文内容包括但不限于:

  • MVVM 数据双向绑定
  • DOM 事件监听
  • 数据劫持
  • 观察者模式

先从什么是 MVVM 说起。

2.MVVM,Model-View-ViewModel

MVVM 拆开来是 Model-View-ViewModel,View,ViewModel,Model 三部分组成,它是一种前端开发的架构模式。

View :代表的是视图,模版。它用来显示数据。 Model :代表的是模型、数据,可以在 Model 层中定义数据修改和操作的业务逻辑。 ViewModel :连接 Model 和 View。 如图所示:

在 MVVM 的架构下,View 层(DOM展示层)和 Model 层(数据对象层)并没有直接联系,而是通过 ViewModel 层进行交互。ViewModel 层通过双向数据绑定将 View 层和 Model 层连接了起来,使得 View 层和 Model 层的同步工作完全是自动的。

因此开发者只需关注业务逻辑,无需手动操作 DOM,复杂的数据状态维护交给 MVVM 统一来管理,称之为数据驱动的开发方法。

3 .双向数据绑定

就是指数据的传递有两个方向:

方向1:从数据到视图,数据变化时,视图也变化。 方向2:从视图到数据,例如 input 框的内容变化时,JS 维护的数据也会变化,同时再次传递到视图上,视图也随之变化。 若要实现以上的数据传递,我们需要去监听数据变化和视图的变化,才能做出相应改变。

4 .监听 DOM 改变

监听 DOM 视图的改变是为了更新模型。我们通过 DOM 事件就可以实现监听视图的改变,典型的 input 的 change、input 事件都可以完成监听,通过事件处理器,实现对应的模型的数据改变。

前面例子中的 input 元素的值的不断改变,就是 DOM 的改变,我们监听到之后,将模型变量 message 做同步更改!就是视图改变传递到了模型上。

那么为什么页面的展示也变了呢?就是下一个传递了。模型改变传递到视图上。数据的改变传递到视图上如何实现的呢?就是监听数据实现的。

5 .监听模型数据变化,数据劫持

如何做到 message 模型变量的变化我们可以监听到呢?其实是利用的 JS 中对象属性修改的特殊 get、set 方法实现的,示例代码如下:

var o = {};

// 创建一个新对象

// 在对象中添加一个属性与存取描述符的示例

var messageValue; 5Object.defineProperty(o, "message

http://www.hkea.cn/news/369194/

相关文章:

  • 扫二维码直接进网站怎么做怎么提交网址让百度收录
  • 柳州建设局网站广告买卖网
  • 做外贸一般上哪些网站google play谷歌商店
  • 泉州手机网站制作如何做企业产品推广
  • 徐州手机网站设计汕头网站建设优化
  • 有没有专业收费做网站优化的百度百科优化排名
  • 常州网站建设哪家便宜江西seo推广软件
  • 如何用pageadmin做网站品牌宣传策略有哪些
  • 网站免费优化软件需要优化的地方
  • 24小时学会网站建设下载厦门百度竞价开户
  • 怎样学做网站网站权重等级
  • 做网站好还是做淘宝好北京seo推广
  • 郑州门户网站建设哪家好网站首页不收录
  • 网站制作营销型哪些网站可以发广告
  • 最新政府网站建设理念广州头条新闻最新
  • 济宁网站建设神华线上推广的三种方式
  • 我要表白网站在线制作如何做网站的教程
  • 福州论坛建站模板策划网络营销活动
  • 网站建设 天津百度市场应用官方app
  • 动态网站制作流程友情链接的定义
  • 企业网站开发方案免费建立一个网站
  • 网站引导页面制作的四个任务名称推广引流的10个渠道
  • 南宁网站建设制作后台网站关键词优化价格
  • 微信小程序商城制作公司宁波seo推广服务
  • 响应式购物网站公司seo是什么意思
  • 360未经证实的网站如何做电商运营方案
  • 网站建设类公司排名营销方案范文100例
  • 郑州网站设计 郑州网站开发网络优化有前途吗
  • 黑河做网站首页关键词排名优化
  • 网站二级域名怎么解析公司网络搭建