Manchmal, Sie wissen nicht, ob die Wert ist gesetzt oder nicht. Dafür gibt es Standardwerte.
Ich benutze dies, wenn ich sicherstellen muss, dass eine Variable einen Wert hat. Sie können es in Ihrem Controller eingestellt
$scope.possiblyEmptyVariable = $scope.possiblyEmptyVariable || "default value";
ohne Angular große Werke als auch
// some object that may or may not have a property 'x' set
var data = {};
// Set default value of "default"
// carefull, values like 'null', false, 0 will still fall to defaults
data.x = data.x || "default";
// Set default value of "default"
// this will not fall to defaults on values like 'null', false, 0
data.x = !"x" in data || "default";
Wenn Sie eine Reihe von Werten einstellen müssen, verwenden Sie angular.extend oder jQuery.verlängern
data.z = "value already set";
var defaults = { x: "default", y: 1, z: "default" };
var newData = angular.extend({}, defaults, data);
// { x: "default, y: 1, z: "value already set" }
Hoffnung, die
In Ihrem Controller hilft, versuchen Sie, '$ scope.your_model_name_here =‚‘' –
Ich versuchte es, aber das führte das gesamte Modell ein leerer String sein, und nicht einmal ein leeres Objekt wurde erstellt. Das explizite Initialisieren einer Eigenschaft zu einer Zeit wie in Shaunhusains Antwort funktioniert jedoch. – whirlwin