Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJs-使用ng init时面临问题_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJs-使用ng init时面临问题

Javascript AngularJs-使用ng init时面临问题,javascript,angularjs,Javascript,Angularjs,我在使用nginit并在我的html中指定它的模型时遇到了一个问题 下面的代码工作正常。以下代码用于添加/编辑功能。例如,在编辑模式下打开行时,它会保留现有值并在文本框中显示 <div> <div ng-if="title == 'Add Student'"> <input type="text" name="name"placeholder="Student Name" data-ng-model="registration.Student.Fir

我在使用
nginit
并在我的html中指定它的模型时遇到了一个问题

下面的代码工作正常。以下代码用于添加/编辑功能。例如,在
编辑
模式下打开行时,它会保留现有值并在
文本框
中显示

<div>
    <div ng-if="title == 'Add Student'">
    <input type="text" name="name"placeholder="Student Name" data-ng-model="registration.Student.FirstName" maxlength="50">
    </div>

    <div ng-if="title == 'Edit Student'">
    <input type="text" name="name"placeholder="Student Name" data-ng-model="student.Student.FirstName" maxlength="50">
    </div>
</div>

你是
ng init
块是错误的,当前它返回
true
false
,你在用括号搞乱

标记

<div ng-init="model = (title == 'Add Student') ? registration.Student : student.Student">
    <input type="text" name="name" placeholder="Student Name" data-ng-model="model.FirstName" maxlength="50">
</div>
<div>
    <input type="text" name="name" placeholder="Student Name" 
     data-ng-model="model.FirstName" maxlength="50"/>
</div>
<div ng-if="loadedData">
    <input type="text" name="name" placeholder="Student Name" data-ng-model="model.FirstName" maxlength="50">
</div>
标记

<div ng-init="model = (title == 'Add Student') ? registration.Student : student.Student">
    <input type="text" name="name" placeholder="Student Name" data-ng-model="model.FirstName" maxlength="50">
</div>
<div>
    <input type="text" name="name" placeholder="Student Name" 
     data-ng-model="model.FirstName" maxlength="50"/>
</div>
<div ng-if="loadedData">
    <input type="text" name="name" placeholder="Student Name" data-ng-model="model.FirstName" maxlength="50">
</div>
代码

var currentState = $state.current.name;
    if (currentState == "Add")
    {
        $scope.registration = {
        Student: {
        FirstName: '',
    }
        var _init = function () {
    }
        $scope.title = " Add Student";
    }
    else
    {
        $scope.student= {};
        $scope.student= response[0];
        var _init = function () {
        $scope.title = " Edit Student";
    }
    //shifted logic in controller
    $scope.model = (title == 'Add Student' ? registration.Student : student.Student);

}
var currentState = $state.current.name;
    if (currentState == "Add")
    {
        $scope.registration = {
        Student: {
        FirstName: '',
    }
        var _init = function () {
    }
        $scope.title = " Add Student";
    }
    else
    {
        $scope.student= {};
        $scope.student= response[0];
        var _init = function () {
        $scope.title = " Edit Student";
    }
    //set flag
    $scope.loadedData = true;

}

Angular 1.1.5添加了一个三元运算符
,您使用的是哪个版本?我正在使用registration.Student或Student初始化模型。基于条件的Student title==“Add Student”。。。然后在我的输入文本框中使用model.FirstName。你能创建plunker吗?@immirza你确定你已经有值
注册。Student
Student.Student
在控制器的开头,或者这个值是从ajax中获取的吗?它工作正常…包括你的控制器代码,控制器ccodeng init中可能有错误,可用于
ng init=“model=(title==“Add Student”?registration.Student:Student.Student”)
方式also@visakhsujathan然后模型值要么是真的,要么是假的,读我的答案。这就是OP的位置wrong@pankajparkar不幸的是,它没有锻炼我。我用了和你提到的一样的方法。更正了括号,但仍然没有显示值。@immirza那么我很确定您的数据是从ajax加载的,或者您的html可能是
@pankajparkar,谢谢您的帮助。