美文网首页
2018-03-15 ng-if 与 ng-show/hide

2018-03-15 ng-if 与 ng-show/hide

作者: 胡諾 | 来源:发表于2018-03-16 16:55 被阅读0次

    第一组:


    第二组:叶佳意 ng-if 与 ng-show/hide 的区别

    区别一,ng-if 在后面表达式为 true 的时候才创建这个 dom 节点,ng-show 是初始时就创建了,用 display:block 和 display:none 来控制显示和不显示。

    区别二,ng-if 会(隐式地)产生新作用域,ng-switch 、 ng-include 等会动态创建一块界面的也是如此。这样会导致,在 ng-if 中用基本变量绑定 ng-model,并在外层 div 中把此 model 绑定给另一个显示区域,内层改变时,外层不会同步改变,因为此时已经是两个变量了。

    <p>{{name}}</p>
    <div ng-if="true">
    <input type="text" ng-model="name">
    </div>
    

    ng-show 不存在此问题,因为它不自带一级作用域。

    避免这类问题出现的办法是,始终将页面中的元素绑定到对象的属性(data.x)而不是直接绑定到基本变量(x)上。


    第三组:吴景霞


    第四组:傅云 10分钟记住日历

    虽然已经很简单的方法了,但是很久不用还是会忘掉,所以我还是没有掌握这项技能


    第五组:王炳钧 Dev GridControl 单元格输入数据的验证方法

    参考网址: https://yq.aliyun.com/articles/54996

    今天要做一个dev gridcongtrol输入单元格内容有效性的检测,此处以不允许为空、该列的值不允许重复为例。(当然也可以使用别的方式,但别的方式不好实现:当该单元格值不满足条件时,锁定整个gridview,除该单元格之外的位置都不允许输入,即将焦点锁定在这一个单元格)。

    1、首先将要验证的列设置为RepositoryItemTextEdit类型,或者别的控件类型(其余控件类型未测试),以下以RepositoryItemTextEdit类型为例

    2、找到RepositoryItemTextEdit的Validating事件,具体代码如下:

    <span style="font-size:14px;"> private void TextEdit1_Validating(object sender, System.ComponentModel.CancelEventArgs e)
            {
                BaseEdit textEdit = sender as BaseEdit;
                if (textEdit.Text.ToString().Trim().Length == 0)
                {
                    e.Cancel = true;
                    //标识 错误提示
                    errorReason = 0;
                    return;
                }
                else
                {
                    //获取GridView中所有的选中的行号
                    //此处不允许多选,故只有一行
                    int[] iRowId = this.gViewActList.GetSelectedRows();
                    for (int i = 0; i < gViewActList.DataRowCount; i++)
                    {
                        //重复检验时,不验证当前行
                        if (i != iRowId[0])
                        {
                            //textEdit.EditValue  当前编辑的值
                            //需要注意的是取当前单元格的值要用:textEdit.EditValue
                            //GridView在TextEdit1_Validating执行时还未将你输入的值更新进去,但执行完该方法后,即使不满足条件,你所输入的值,也会更新到GridView中去
                            //同时,也说明了,在Validating函数中排除重复值的时候,通过GridView获取当前行的值,不是最新的,即不是你最近一次输入的
                            if (textEdit.EditValue.ToString().Trim() == gViewActList.GetDataRow(i)["GridView上绑定的列名"].ToString().Trim())
                            {
                                e.Cancel = true;
                                //标识 错误提示
                                errorReason = 1;
                                return;
                            }
                        }
                    }
                }</span>
    
    

    相关文章

      网友评论

          本文标题:2018-03-15 ng-if 与 ng-show/hide

          本文链接:https://www.haomeiwen.com/subject/gqrrqftx.html