Для достижения ожидаемого результата используйте ng-init, чтобы присвоить ноль
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
});
codepen - https://codepen.io/nagasai/pen/ZVPJqJ
А-ч, я ответил перед добавлением дополнительного разъяснения. Короткий ответ, да, просто снят это как Ваш пользовательский тип.
Я оставлю остальную часть моего ответа здесь для ссылки, хотя не кажется, что Вам будет нужен он.
При заимствовании у кода в другом вопросе и предположении, что все Пользовательские элементы управления могут быть сделаны наследоваться тому же базовому классу, Вы могли сделать это.
Создайте новый класс для действия как основное управление:
public class MyBaseControl : System.Web.UI.UserControl
{
public string MyProperty
{
get { return ViewState["MyProp"] as string; }
set { ViewState["MyProp"] = value; }
}
}
Затем обновите свои пользовательские элементы управления для наследования базовому классу вместо UserControl:
public partial class SampleControl2 : MyBaseControl
{
....
Затем в месте, где Вы загружаете средства управления, измените это:
UserControl uc = (UserControl)LoadControl(controlPath);
PlaceHolder1.Controls.Add(uc);
кому:
MyBaseControl uc = (MyBaseControl)LoadControl(controlPath);
uc.MyProperty = "foo";
PlaceHolder1.Controls.Add(uc);
Да, Вы просто бросаете управление к надлежащему типу. EX:
((MyControl)control).MyProperty = "blah";
"Поскольку я добавляю UserControl к странице, ее типом является UserControl. Я просто бросаю его в MyCustomUCType и устанавливаю свойство на управлении броска?"
Это - то, что я сделал бы. Если Вы на самом деле используете пример кода, где он загружает различные средства управления, я использовал бы если (x ControlType), также.
if(x is Label) { Label l = x as Label; l.Text = "Batman!"; } else //...
Править: Теперь это - 2,0 совместимых