Javascript ui是否与ng模型冲突?

Javascript ui是否与ng模型冲突?,javascript,angularjs,angular-ngmodel,prototypal-inheritance,Javascript,Angularjs,Angular Ngmodel,Prototypal Inheritance,非常简单的代码: <div ui-if="showMemberId"> <input ng-model="memberId" ng-change="test()" id="memberId" name="memberId" class="text" type="text"> </div> 奇怪的是,ng更改起作用,但ng模型却不起作用。当我输入时,它只是将字符串SDF反复记录到控制台,因为模型没有改变 有什么想法吗?看起来像是

非常简单的代码:

    <div ui-if="showMemberId">
        <input ng-model="memberId" ng-change="test()" id="memberId" name="memberId" class="text" type="text">
    </div>
奇怪的是,
ng更改
起作用,但
ng模型却不起作用。当我输入时,它只是将字符串
SDF
反复记录到控制台,因为模型没有改变


有什么想法吗?

看起来像是
ui,如果
正在创建一个子作用域,就像
ng,如果
正在创建。因此,外部
memberId
范围将不同于
ui内部的
ng model
,如果
。
在这种情况下,在定义
ng模型时,需要遵循
dot规则
。基本上,当它创建一个子作用域时,它的原型继承自父作用域。而
原型继承
作用于
对象
类型而非
基本类型

要使其工作,您需要在控制器内定义对象,如
$scope.model={}
&定义其中的所有属性

标记

<div ui-if="showMemberId">
    <input ng-model="model.memberId" ng-change="test()" 
     id="memberId" name="memberId" class="text" type="text"/>
</div>
我鼓励您使用
ng if
,而不是像angular那样使用
ui if
提供相同的功能


ui如果
是创建新范围的众多指令之一,并且由于您的
ng模型
是一个原语,它将无法以对象的方式访问。这是angular中最常见的问题之一的一个例子,它总是通过“始终使用点”规则来解决。angular中的黄金规则是始终在
ng model
中使用对象,因此您不会在原语上断开绑定进一步阅读:另外,除非我的事实是错误的,如果
已从框架的最新版本中删除,
ui。@Aerovistae很高兴为您提供帮助。。谢谢:)
<div ui-if="showMemberId">
    <input ng-model="model.memberId" ng-change="test()" 
     id="memberId" name="memberId" class="text" type="text"/>
</div>
$scope.model = {}; //made an object type model