清理ng-repeat(Angularjs)中所有填充的元素

时间:2019-03-20 15:22:39

标签: angularjs

使用Angularjs,使用ng-repeat(2个级别)创建搜索,并用结果填充div,如何在请求新搜索时删除搜索结果

using System.Windows.Forms;

namespace MyFakeFormAndViewText
{
    public partial class MyFakeForm : Form
    {
        public MyFakeForm()
        {
            InitializeComponent();

            MyUserControl myUserControl = new MyUserControl();

            Controls.Add(myUserControl);
        }

        protected override void OnEnter(EventArgs eventArgs)
        {
            base.OnEnter(eventArgs);
            System.Diagnostics.Trace.WriteLine("MyFakeForm.OnEnter(): eventArgs: " + eventArgs.ToString());
        }

        protected override void OnLeave(EventArgs eventArgs)
        {
            base.OnLeave(eventArgs);
            System.Diagnostics.Trace.WriteLine("MyFakeForm.OnLeave(): eventArgs: " + eventArgs.ToString());
        }

        protected override void OnGotFocus(EventArgs eventArgs)
        {
            base.OnGotFocus(eventArgs);
            System.Diagnostics.Trace.WriteLine("MyFakeForm.OnGotFocus(): eventArgs: " + eventArgs.ToString());
        }

        protected override void OnLostFocus(EventArgs eventArgs)
        {
            base.OnLostFocus(eventArgs);
            System.Diagnostics.Trace.WriteLine("MyFakeForm.OnLostFocus(): eventArgs: " + eventArgs.ToString());
        }

    }
}

using System.Windows.Forms;

namespace MyFakeFormAndViewText
{
    public partial class MyUserControl : UserControl
    {
        public MyUserControl()
        {
            //this.Load += new System.EventHandler(this.OnLoad);


            InitializeComponent();
        }

        private void OnLoad(object sender, EventArgs eventArgs)
        {
            System.Diagnostics.Trace.WriteLine("MyUserControl.OnLoad");
            //base.OnLoad(eventArgs);
            textBox1.Text = System.DateTime.Now.ToLongTimeString();

        }

        private void OnMyUserControlEnter(object sender, EventArgs eventArgs)
        {
            System.Diagnostics.Trace.WriteLine("MyUserControl.OnMyUserControlEnter: sender: " + sender + "\teventArgs:" + eventArgs);
        }

        private void OnMyUserControlLeave(object sender, EventArgs eventArgs)
        {
            System.Diagnostics.Trace.WriteLine("MyUserControl.OnMyUserControlLeave: sender: " + sender + "\teventArgs:" + eventArgs);
        }

        private void OnTextBox1Enter(object sender, EventArgs eventArgs)
        {
            System.Diagnostics.Trace.WriteLine("MyUserControl.OnTextBox1Enter: sender: " + sender + "\teventArgs:" + eventArgs);
        }

        private void OnTextBox1Leave(object sender, EventArgs eventArgs)
        {
            System.Diagnostics.Trace.WriteLine("MyUserControl.OnTextBox1Leave: sender: " + sender + "\teventArgs:" + eventArgs);
        }

        private void OnButton1Click(object sender, EventArgs eventArgs)
        {
            System.Diagnostics.Trace.WriteLine("MyUserControl.OnButton1Click: sender: " + sender + "\teventArgs:" + eventArgs);
        }
    }
}

using System.Windows.Forms;

namespace MyFakeFormAndViewText
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MyFakeForm());
        }
    }
}

4 个答案:

答案 0 :(得分:1)

您可以将空数组传递给所有$scope.all= []或放置新结果:$scope.all = newResult

答案 1 :(得分:0)

您只需使用双向数据绑定角度功能,将新结果放到控制器的变量上(在您的情况下为“ all”)。如果您只想清除结果,请清除“所有”变量。

答案 2 :(得分:0)

您的ng-repeat使用数组$ scope.one,因此对它的任何修改都将在ng-repeat中更新。如果您要替换的是,请使用新结果再次填充它。如果您希望它显示为空,则可以使用

清空数组
 $scope.one = [];

答案 3 :(得分:0)

由于这是两级ng-repeat,因此我添加了:

$scope.all.items = []

“项目”是将结果保持为“一个”(在第一个ng-repeat中)的原因

谢谢大家的响应并打开门。