1

这是我的场景:(在控制器中)

var userData = $http(
{
    method: "post",
    url: "http://localhost/t-app/mobile-data/update-tasks.php",
    data: {
        done_tasks : $scope.done_tasks,
        job_id: $routeParams.job_id,
        employee_id: $scope.user_id,
        },
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
});

userData.success(function (userdataobject)
{
    $scope.message = userdataobject["message"];
    $scope.status_id = userdataobject["status_id"];

    $location.path("/taskStatus");

});

现在我的路线是这样的:

$routeProvider.when('/taskStatus', {templateUrl: 'partials/task-status.html'});

task-status.html的是这样的:

<div ng-if="status_id == '1'" style="color:black">
    <h4 class="text-center" >{{message}}</h4>
    <div ng-bind="message"> </div>
    tum hi to ho
</div>

<div ng-if="status_id == '0'" style="color:black">
    <h4 class="text-center">{{message}}</h4>
    tum nhi ho 
    <div ng-bind="message"></div>
</div>

现在我的问题是task-status.html我没有得到{{message}}表达ng-bind="message"

4

2 回答 2

2

有一个 '。' 在您的模型中将确保原型继承发挥作用。所以,使用而不是 .

如果您真的想要/需要使用原语,有两种解决方法:

  1. 在子范围内使用 $parent.parentScopeProperty。这将阻止子范围创建自己的属性。
  2. 在父作用域上定义一个函数,并从子作用域调用它,将原始值传递给父作用域(并非总是可能)

所以代替原始类型变量使用角度对象。总是喜欢下面的方法。

在控制器中,使用这些属性创建一个对象并使用它。

$rootScope.commonObject={message:'',status_id:''}
$rootScope.commonObject.message = userdataobject["message"];
$rootScope.commonObject.status_id = userdataobject["status_id"];

在视图中,

<div ng-if="commonObject.status_id == '0'" style="color:black">
            <h4 class="text-center">{{commonObject.message}}</h4>
            tum nhi ho 
            <div ng-bind="commonObject.message"> </div>
        </div>

参考:https ://github.com/angular/angular.js/wiki/Understanding-Scopes

于 2015-12-30T08:20:39.153 回答
1
userData.success(function (userdataobject)

userdataobject有下一个字段(来自docs):

  • data{string|Object}– 使用转换函数转换的响应体。
  • status{number}– 响应的 HTTP 状态码。
  • headers{function([headerName])}– 标头获取函数。
  • config{Object}– 用于生成请求的配置对象。
  • statusText{string}– 响应的 HTTP 状态文本。

字段data包含您的回复,因此您需要这样的内容:

 $scope.message = userdataobject.data["message"];
 $scope.status_id = userdataobject.data["status_id"];
于 2015-12-30T08:07:35.597 回答