我在 ion-content 内部有两个输入字段,并且它们都附加有ng模型。然后在我的ion-footer中,我有一个ng-click,我在其中调用一个函数并传入两个ng-model。
当我在 ion-content 内部进行ng-click时,所有这些工作都很好,但是当我将其移动到页脚时,对于传递给函数的两个参数,我不确定。
那么这是否意味着 ion-content 和 ionic 页脚具有不同的作用域?即使它们位于同一文件中并且具有相同的 Controller ?
最佳答案
我相信ion-footer
和ion-content
会创建新的子范围,即当前范围的Prototypically inerherit。下面的 ionic 代码将为您更好地说明其内部工作方式,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.volume = 5
然后,您需要使用:
$scope.data = { 'volume' : 5}
Angular Prototypal Scope Inheritance
关于javascript - ion-content和ion-footer具有不同的$ scope,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30119844/