这就是如果我没有将任何内容写入我的两个文本框,将看到它的错误是:未定义,当你写了一些内容时它首先消失。
我写过这样的代码:
Default.aspx
<div ng-app="Welcomecontroller" ng-controller="FullName">
<label>Name:</label>
<input type="text" ng-model="Fornavn" placeholder="Enter a name here">
<input type="text" ng-model="Efternavn" placeholder="Enter a name here">
<hr>
<h1>{{fullName()}}</h1>
</div>
WelcomeController.js
var Welcome = angular.module('Welcomecontroller', []);
Welcome.controller('FullName', function ($scope) {
$scope.fullName = function () {
return "Velkommen til " + $scope.Fornavn + " " + $scope.Efternavn;
}
});
当它没有内容时会看到它并这样写:
Velkommen til undefined undefined
但是,我也尝试这样做以检查内容是否为空。
WelcomeController.js
var Welcome = angular.module('Welcomecontroller', []);
Welcome.controller('FullName', function ($scope) {
if ($scope.Fornavn != "" && $scope.Efternavn != "") {
$scope.fullName = function () {
return "Velkommen til " + $scope.Fornavn + " " + $scope.Efternavn;
}
}
else
{
return "Test";
}
});
最佳答案
您可以在模板本身中使用 ng-if
进行检查。
<div ng-app="Welcomecontroller" ng-controller="FullName as fullname">
<label>Name:</label>
<input type="text" ng-model="fullname.Fornavn" placeholder="Enter a name here">
<input type="text" ng-model="fullname.Efternavn" placeholder="Enter a name here">
<hr>
<h1 ng-if="fullname.Fornavn && fullname.Efternavn">
Velkommen til {{fullname.Fornavn}} {{fullname.Efternavn}}</h1>
<h1 ng-if="!fullname.Fornavn || !fullname.Efternavn">Test</h1>
</div>
在这种情况下,您实际上什至不需要 Controller 中的任何东西。
关于javascript - 如果什么都没有,则在 angularJs 消息中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33324256/