难度给我全名 - 回报不满足

时间:2016-03-05 22:04:18

标签: angularjs model-view-controller view

这是我尝试返回全名的方式,但它只给我这个

在主要的我的angularjs 1.5.x文件中,它是从他们的CDN我得到他们的代码。

问题在于,当我将名字和姓氏写入节目时,我只写了这么厚的内容,所以它也显示了我在下面写的内容。

 {{fullName()}}

我还尝试将()标记出来并再次添加它们,并且仍然按照我在此处所述的那样显示它。

Create.cshtml文件:

<div class="col-lg-6" ng-app="UserValue" ng-controller="UserFirstValue">

    @using (Html.BeginForm(HelperSettingsClass.HelperSettings.AccountCreate, HelperSettingsClass.HelperSettings.AccountMappe, FormMethod.Post, new
    {
        @class = "form-horizontal"
    }))
    {
        <div class="form-group">
            <div class="col-xs-12">
                @Html.LabelFor(u => u.Fornavn)
                @Html.TextBoxFor(u => u.Fornavn, new
           {
               @class = "form-control",
               @id = "Firstname",
               @ng_model = "FirstnameApp",
               @placeholder = HelperTextClass.HelperText.placeholderInfo.Fornavn,
               @required = ""
           })
                @Html.ValidationMessageFor(u => u.Fornavn, "", new
           {
               @class = "label label-danger"
           })
            </div>
        </div>

        <div class="form-group">
            <div class="col-xs-12">
                @Html.LabelFor(u => u.Efternavn)
                @Html.TextBoxFor(u => u.Efternavn, new
           {
               @class = "form-control",
               @id = "Lastname",
               @ng_model = "LastnameApp",
               @placeholder = HelperTextClass.HelperText.placeholderInfo.Efternavn,
               @required = ""
           })
                @Html.ValidationMessageFor(u => u.Efternavn, "", new
           {
               @class = "label label-danger"
           })
            </div>
        </div>

        <div class="form-group">
            <div class="col-xs-12">
                <p class="label label-danger"></p>
                <button type="submit" class="btn btn-success" id="clickUserCreate"><i class="fa fa-plus"></i> {{fullName()}}</button>
            </div>
        </div>
    }
</div>

User.js - Angularjs文件:

var app = angular.module('UserValue', []);
app.controller('UserFirstValue', function ($scope) {
    if ($scope.FirstnameApp != null && $scope.LastnameApp != null)
    {
        $scope.fullName = function () {
            return "Velkommen" + $scope.FirstnameApp + " " + $scope.LastnameApp;
        };
    }
    else
    {
        $scope.fullName = function () {
            return "Opret bruger";
        };
    }
});

1 个答案:

答案 0 :(得分:0)

控制器的逻辑仅在初始化时运行,因此不会创建函数,因为这些变量还没有值。

相反,做这样的事情:

$scope.fullName = function () {
    if ($scope.FirstnameApp != null && $scope.LastnameApp != null)
        return "Velkommen" + $scope.FirstnameApp + " " + $scope.LastnameApp;
    else
        return "Opret bruger";
};

注意:

我实际上认为使用一个函数有点难看。它违反了一般的AngularJS样式指南,因为您将视图问题放在控制器中。做这样的事情会更好:

<div ng-show="firstName && lastName">
    Welcome, {{name}} {{lastName}}
</div>
<div ng-hide="firstName && lastName">
    No name
</div>