Javascript 离子内容和离子页脚具有不同的$scope
我的ion内容中有两个输入字段,它们都有一个ng模型。然后在我的ion页脚中,我有一个ng单击,在这里我调用一个函数并传入两个ng模型 当我在ion内容中单击ng时,这一切都很好,但是当我将其移动到页脚时,我会对传递给函数的两个参数进行未定义Javascript 离子内容和离子页脚具有不同的$scope,javascript,angularjs,cordova,angularjs-scope,ionic-framework,Javascript,Angularjs,Cordova,Angularjs Scope,Ionic Framework,我的ion内容中有两个输入字段,它们都有一个ng模型。然后在我的ion页脚中,我有一个ng单击,在这里我调用一个函数并传入两个ng模型 当我在ion内容中单击ng时,这一切都很好,但是当我将其移动到页脚时,我会对传递给函数的两个参数进行未定义 这是否意味着ion内容和ion页脚具有不同的$scope?即使它们在同一个文件中,并且具有相同的控制器???pankajparkar评论中的答案解释: 离子含量指令有了新的范围。它使用点表示法工作(在处理范围继承时很重要) 这就是它与ng model=“d
这是否意味着ion内容和ion页脚具有不同的$scope?即使它们在同一个文件中,并且具有相同的控制器???pankajparkar评论中的答案解释: 离子含量指令有了新的范围。它使用点表示法工作(在处理范围继承时很重要) 这就是它与ng model=“data.model1”一起工作的原因 请参阅:
我相信
ion footer
和ion content
会从当前作用域创建新的子作用域。下面的离子代码将更好地说明它的内部工作方式,scope:true,
负责创建新的子作用域
代码
.directive('ionContent', [
'$parse',
'$timeout',
'$ionicScrollDelegate',
'$controller',
'$ionicBind',
function($parse, $timeout, $ionicScrollDelegate, $controller, $ionicBind) {
return {
restrict: 'E',
replace: true,
transclude: true,
require: '^?ionNavView',
scope: true, //<-- this creates a prototypically inerherited scope
template:
'<div class="scroll-content">' +
'<div class="scroll"></div>' +
'</div>',
然后您需要使用:
$scope.data = { 'volume' : 5}
创建一个作用域,如
$scope.data={}
&将绑定在html.place上的所有ng模型放置在此对象中,如ng model=“data.model1”
,ng model=“data.model2“
@pankajparkar真棒!工作起来很有魅力!但我还是很好奇为什么它没有按原来的方式工作?在我的控制器中没有预定义变量的ng模型中,内容和页脚的作用域是否不同?我只是好奇。我相信ion content&ion footer确实创建了一个子作用域。&正如您在控制器中声明的那样,$scope.data={}
确实访问了它的内部属性。。这将从父级继承作用域。。我应该添加答案吗?@pankajparkar是的,去吧,因为你是解决我问题的人!
$scope.data = { 'volume' : 5}